Cod sursa(job #343097)

Utilizator Andrei200Andrei200 Andrei200 Data 24 august 2009 23:55:58
Problema Marbles Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>
#include <cstring>


#define file_in "marbles.in"
#define file_out "marbles.out"

long int N,M,i,j,max,maxim,V[100010],frecv[100010],x,a,b;
long int aa,bb;

int main()
{
   freopen(file_in,"r",stdin);
   scanf("%ld %ld", &N,&M);
   freopen(file_out,"w",stdout);
   max=0;
   for (i=1;i<=N;++i)
	{
	 scanf("%ld %ld",&aa,&bb);
	 V[aa]=bb;
	 if (aa>max)
	     max=aa;
	}
   while (M--)
   {
    scanf("%ld %ld %ld\n",&x,&a,&b);
    if (x==0)
	{
	  V[a+b]=V[a];
	  V[a]=0;
	}
	else
    if (x==1)
	{
	 memset(frecv,0,sizeof(frecv));
	 for (i=a;i<=b;++i)
	      frecv[V[i]]++;
	 maxim=0;
	 for (i=1;i<=max;++i)
	      if (maxim<frecv[i])
		  maxim=frecv[i];
	 printf("%ld\n", maxim);
	}
   }
    fclose(stdin);
    fclose(stdout);

return 0;
}