Pagini recente » Cod sursa (job #376079) | Cod sursa (job #91318) | Cod sursa (job #1995175) | Cod sursa (job #563653) | Cod sursa (job #2020663)
#include<bits/stdc++.h>
#define x first
#define y second
using namespace std;
ifstream si("marbles.in");
ofstream so("marbles.out");
int v[1<<17],cnt[1<<17][64];
pair<int,int> x[1<<17];
int main()
{
int n,m;
si>>n>>m;
for(int i=1;i<=n;++i)
si>>x[i].x>>x[i].y;
sort(x+1,x+n+1);
for(int i=1;i<=n;++i)
{
v[i]=x[i].x;
cnt[i][x[i].y-1]=1;
}
for(int i=1;i<=n;++i)
for(int j=0;j<64;++j)
cnt[i][j]+=cnt[i-1][j];
while(m--)
{
int p,x,y;
si>>p>>x>>y;
if(!p)
(*lower_bound(v+1,v+n+1,x))+=y;
else
{
x=(lower_bound(v+1,v+n+1,x)-v)-1;
y=(upper_bound(v+1,v+n+1,y)-v)-1;
int r=0;
for(int i=0;i<64;++i)
r=max(r,cnt[y][i]-cnt[x][i]);
so<<r<<'\n';
}
}
return 0;
}