Pagini recente » Profil M@2Te4i | Statistici Costache Razvan (razvancostache) | Profil Ghibu | Istoria paginii utilizator/ghiurutan2001 | Cod sursa (job #1006104)
#include<fstream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,sum[65][100100],X[100100],sol;
struct Bila{
int x,color;
bool operator <(const Bila &A) const
{
return x<A.x;
}
};
Bila v[100100];
int main()
{
int i,j,c,op,poz,st,dr;
freopen("marbles.in","r",stdin);
freopen("marbles.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d %d",&v[i].x,&v[i].color);
sort(v+1,v+n+1);
for(i=1;i<=n;i++)
{
for(c=1;c<=64;c++)
sum[c][i]=sum[c][i-1];
sum[v[i].color][i]++;
X[i]=v[i].x;
}
while(m--)
{
scanf("%d %d %d",&op,&i,&j);
if(op==0)
{
poz=lower_bound(X+1,X+n+1,i)-X;
X[poz]+=j;
}
else
{
st=lower_bound(X+1,X+n+1,i)-X;
dr=upper_bound(X+st,X+n+1,j)-X-1;
sol=0;
for(c=1;c<=64;c++)
sol=max(sol,sum[c][dr]-sum[c][st-1]);
printf("%d\n",sol);
}
}
return 0;
}