Cod sursa(job #289109)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 26 martie 2009 14:24:00
Problema Marbles Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
int v[65][100001],i,j,op,a,b,sol,n,m,poz[100001],maxim,x;
int main()
{
ifstream f("marbles.in");
ofstream g("marbles.out");

f>>n>>m;
for(i=1;i<=n;i++)
 {f>>a>>b; poz[a]=b;
   for(j=a;j<=100010;j++)
    v[b][j]++;
  if(b>maxim) maxim=b;
 }
for(i=1;i<=m;i++)

 { f>>op>>a>>b;

    if(op==1)

       { sol=0;
         for(j=1;j<=maxim;j++)
          { x=v[j][b]-v[j][a];
            if(v[j][a]!=v[j][a-1]) x++;
            if(x>sol) sol=x;
          }
         g<<sol<<'\n';
        }
     else { b=a+b;
            x=poz[a]; poz[a]=0; poz[b]=x;

            if(a<b)  for(j=a;j>0;j--) v[x][j]--;
             else for(j=a-1;j>=b;j--) v[x][j]++;
          }
 }
f.close();
g.close();
return 0;
}