Pagini recente » Cod sursa (job #2839118) | Cod sursa (job #1959741) | Cod sursa (job #2357770) | Cod sursa (job #1435584) | Cod sursa (job #2442862)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int teste, t, x, modul;
vector<int>a[1000005];
/// rest = numar % modul
/// In a[rest] tin numerele care dau restul respectiv la impartirea cu modul
int main(){
modul=104729;
// ales aleatoriu (al 10.000lea nr prim)
fin>>teste;
for(int aux=1; aux<=teste; aux++){
fin>>t>>x;
int rest=x%modul;
if(t==1){
/// se adauga x (daca nu exista deja in multime)
/// verific daca x este deja in multime
int ok=1;
for(int i=0; i<a[rest].size(); i++){
if(a[rest][i]==x){
ok=0;
}
}
if(ok==1){
a[rest].push_back(x);
}
}
if(t==2){
/// se elemina x (daca exista in multime)
for(int i=0; i<a[rest].size(); i++){
if(a[rest][i]==x){
a[rest].erase (a[rest].begin()+i);
break;
}
}
}
if(t==3){
///verifica daca x exista in multime
int ok=0;
for(int i=0; i<a[rest].size(); i++){
if(a[rest][i]==x){
ok=1;
}
}
if(ok==1){
fout<<1<<"\n";
}else{
fout<<0<<"\n";
}
}
}
}