Cod sursa(job #244149)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 14 ianuarie 2009 17:29:31
Problema Marbles Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>

int N,M,i,j,max,maxim,V[100001],frecv[100001],x,a,b;

int main()
{
   freopen("marbles.in","r",stdin);
   scanf("%d %d\n", &N,&M);
   max=0;
   for (i=1;i<=N;++i)
	{
	 scanf("%d %d\n",&a,&b);
	 V[a]=b;
	 if (a>max)
	     max=a;
	}
   freopen("marbles.out","w",stdout);
   while (M--)
   {
    scanf("%d %d %d\n",&x,&a,&b);
    if (x==0)
	{
	  V[a+b]=V[a];
	  V[a]=0;
	}
	else
    if (x==1)
	{
	 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 (maxim<frecv[i])
		  maxim=frecv[i];
	 printf("%d\n", maxim);
	}
   }
return 0;
}