Cod sursa(job #1574434)

Utilizator sanzianaioneteIonete Sanziana sanzianaionete Data 20 ianuarie 2016 16:25:26
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<fstream>
#include<vector>
#define m 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n;
vector<int> v[m];
int op_3(int x)
{
    int l=x%m;
    int k=v[l].size();
    for(int i=0;i<k;i++)
        if(v[l][i]==x)
            return i;
    return -1;
}
void op_1(int x)
{
    int poz=op_3(x);
    if(poz==-1)
        v[x%m].push_back(x);
    return;
}
void op_2(int x)
{
    int poz=op_3(x);
    if(poz>-1)
    {
        v[x%m][poz]=v[x%m][v[x%m].size()-1];
        v[x%m].pop_back();
    }
}
int main()
{
    f>>n;
    int op,x;
    for(int i=0;i<n;i++)
    {
        f>>op>>x;
        if(op==1)
            op_1(x);
        if(op==2)
            op_2(x);
        if(op==3)
        {
            int ok=op_3(x);
            if(ok>-1)
                g<<"1\n";
            else
                g<<"0\n";
        }
    }
    return 0;
}