Pagini recente » Cod sursa (job #2866088) | Cod sursa (job #458607) | Cod sursa (job #198673) | Cod sursa (job #2376011) | Cod sursa (job #2761621)
#include <iostream>
#include<vector>
#include<fstream>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector<int> v[123443]; // 123443 e nr prim, penru dispersie
void adaugare (int x)
{
int poz, i;
poz = x % 123443;
for(i=0; i< v[poz].size(); i++)
if(v[poz][i] == x)
return;
else
v[poz].push_back(x);
}
void stergere (int x)
{
int poz, i, lungime;
poz = x % 123443;
lungime = v[poz].size();
for(i=0; i< v[poz].size(); i++)
if(v[poz][i] == x)
{
v[poz][i] = v[poz][lungime-1]
v[poz].pop_back();
}
}
int verificare ( int x)
{
int poz, i;
poz = x % 123443;
for( i =0; i< v[poz].size(); i++)
{
if(v[poz][i] == x)
return 1;
}
return 0;
}
int main()
{
int nr, operatie , x;
f>>nr; //citim numarul de oparatii
int i;
for(i=0; i<nr; i++){
f>>operatie;
f>>x;
if(operatie == 1)
adaugare(x);
else if(operatie == 2)
stergere(x);
else if (operatie == 3)
g<<verificare(x)<<'\n';
}
f.close();
g.close();
return 0;
}