Cod sursa(job #2101439)

Utilizator daniela12Sandu Daniela Teodora daniela12 Data 7 ianuarie 2018 15:39:23
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int MOD=99989;
int h[MOD-1][1000];
int verif (int x)
{
    int i, ok=0;
    int m=h[0][x%MOD];
    for(i=1;i<=m && ok==0;++i)
        if(h[i][x%MOD]==x)
            return i;
    return 0;
}
void sterge (int x)
{
    int i;
    i=verif(x);
    if(i)
    {
        while(i<h[0][x%MOD])
        {
            h[i][x%MOD]=h[i+1][x%MOD];
        }
        h[0][x%MOD]--;
    }
}
void afisare ()
{
    int i, j;
    for(j=0; j<MOD;++j)
        {for(i=1;i<=h[i][j];++i)
            cout<<h[i][j]<<" ";
        cout<<'\n';}
}
int main()
{
    int i, op, x, n;
    f>>n;
    for(i=1;i<=n;++i)
    {
        f>>op>>x;
        if(op==1)
            if(!verif(x))
            {
                h[0][x%MOD]++;
                h[h[0][x%MOD]][x%MOD]=x;
            }
        if(op==2)
        {
           sterge(x);
        }
        if(op==3)
        {
            if(verif(x))
                g<<1<<'\n';
            else
                g<<0<<'\n';
        }
    }
    f.close();
    g.close();
}