Cod sursa(job #1151456)

Utilizator serbanSlincu Serban serban Data 24 martie 2014 10:05:10
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.11 kb
#include <iostream>
#include <cstdio>
#include <vector>

using namespace std;

int n,tip,numar,rest,lungime[666015];
vector <int> x[666015];

int main()
{
    int i,z,j;
    FILE *f=fopen("hashuri.in","r");
    FILE *g=fopen("hashuri.out","w");
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++)
    {
        fscanf(f,"%d%d",&tip,&numar);
        rest=numar%666013;
        if(tip==1)
            x[rest].push_back(numar/666013),lungime[rest]++;
        else if(tip==2)
        {
            j=0;
            for(z=0;z<=lungime[rest]-1;z++)
            {
                if(x[rest][z]==numar/666013)
                    x[rest].erase(x[rest].begin()+z-1),j++;
            }
            lungime[rest]-=j;
        }
        else if(tip==3)
        {
            if(lungime[rest]>0)
                for(z=0;z<=lungime[rest]-1;z++)
                {
                    if(x[rest][z]==numar/666013)
                        fprintf(g,"1\n"),z=lungime[rest];
                }
            else if(lungime[rest]==0 || z==lungime[rest])
                fprintf(g,"0\n");
        }
    }
    return 0;
}