Cod sursa(job #244158)
#include <stdio.h>
long long N,M,i,j,max;
long long maxim,V[100010];
long long frecv[100110],x,a,b;
int main()
{
freopen("marbles.in","rt",stdin);
freopen("marbles.out","wt",stdout);
scanf("%lld %lld", &N,&M);
max=0;
for (i=1;i<=N;++i)
{
scanf("%lld %lld",&a,&b);
V[a]=b;
if (a>max) max=a;
}
for (j=1;j<=M;++j)
{
scanf("%lld %lld %lld",&x,&a,&b);
if (x==0)
{
V[a+b]=V[a];
V[a]=0;
}
else
{
for (i=1;i<=max;++i)
frecv[i]=0;
for (i=a;i<=b;++i)
frecv[V[i]]++;
maxim=0;
for (i=1;i<=max;++i)
if (frecv[i]>maxim) maxim=frecv[i];
printf("%lld\n", maxim);
}
}
return 0;
}