Cod sursa(job #1151421)

Utilizator serbanSlincu Serban serban Data 24 martie 2014 09:31:15
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 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;
    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)
        {
            for(z=0;z<=lungime[rest]-1;z++)
            {
                if(x[rest][z]==numar/666013)
                    x[rest][z]=x[rest][lungime[rest]],lungime[rest]--;
            }
        }
        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;
}