Pagini recente » Cod sursa (job #2923152) | Cod sursa (job #2779560) | Cod sursa (job #322326) | Cod sursa (job #1859907) | Cod sursa (job #3122888)
#include <bits/stdc++.h>
#define L 100005
using namespace std;
ifstream fin("hotel.in");
ofstream fout("hotel.out");
struct MS{
int sum;
int secv_max;
int pref_max;
int suff_max;
int count_0;
};
int n, q, x, y, val;
MS aint[L * 4];
inline void update(int node, int le, int ri){
int mid = (le + ri) / 2;
if (x > le || y < ri){
if (x <= mid)
update(node * 2, le, mid);
if (mid < y)
update(node * 2 + 1, mid + 1, ri);
}
aint[node].sum += val;
if (val == 1)
aint[node].count_0 = 0;
else
aint[node].count_0 = ri - le + 1;
}
inline int query(){
return aint[1].secv_max;
}
int main(){
fin >> n >> q;
for (int i = 1; i <= q; i++){
int t;
fin >> t;
if (t == 1){
fin >> x >> y;
y += x - 1;
val = 1;
update(1, 1, n);
}
else if (t == 2){
fin >> x >> y;
y += x - 1;
val = -1;
update(1, 1, n);
}
else{
fout << query() << "\n";
}
}
return 0;
}