Pagini recente » Cod sursa (job #86192) | Cod sursa (job #122758) | Cod sursa (job #1771896) | Cod sursa (job #1912403) | Cod sursa (job #644298)
Cod sursa(job #644298)
#include<vector>
#include<fstream>
#include<iostream>
using namespace std;
vector<long int>v[699999];
ifstream f("hashuri.in");
ofstream g("hashuri.out");
long int existenta(long int x,long int cheia)
{
long int i,lungime=v[cheia].size();
for(i=0;i<lungime;i++)
if(v[cheia][i]==x)
return 1;
return 0;
}
long int pozitie(long int x,long int cheia)
{
long int i,lungime=v[cheia].size();
for(i=0;i<lungime;i++)
if(v[cheia][i]==x)
return i;
return -1;
}
void inserare(long int x,long int cheia)
{
v[cheia].push_back(x);
}
void stergere(long int x,long int cheia)
{
long int poz,lungime=v[cheia].size();
poz=pozitie(x,cheia);
if(poz!=-1)
{
v[cheia][poz]=v[cheia][lungime-1];
v[cheia].pop_back();
}
}
void citire()
{
long int i,N,instructiune,numar,cheia;
f>>N;
for(i=1;i<=N;i++)
{
f>>instructiune;
f>>numar;
cheia=numar%699967;
switch(instructiune)
{
case 1:
inserare(numar,cheia);
break;
case 2:
stergere(numar,cheia);
break;
case 3:
g<<existenta(numar,cheia)<<endl;
break;
}
}
}
int main()
{
citire();
f.close();
g.close();
return 0;
}