Pagini recente » Cod sursa (job #2646174) | Cod sursa (job #2663792) | Cod sursa (job #2795417) | Cod sursa (job #1616190) | Cod sursa (job #1048016)
#include<fstream>
#include<iostream>
#include <vector>
using namespace std;
#define prime 666013
vector<int>H[prime];
int cauta(vector<int>H[prime],int val){
int rest=val%prime;
for(int i=0;i<H[rest].size();i++)
if(H[rest][i]==val)
return i;
return -1;}
void insert(vector<int>H[prime],int val){
if(cauta(H,val)>=0){
return;
}
else
H[val%prime].push_back(val);
}
void sterge(vector<int>H[prime],int val){
int poz=cauta(H,val);
if(poz==-1)
return;
int rest=val%prime;
H[rest][poz]=H[rest].back();
H[rest].pop_back();
}
int main(){int n,i,x,y;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>x>>y;
if(x==1)
insert(H,y);
if(x==2)
sterge(H,y);
if(x==3)
g<<cauta(H,y)<<"\n";
}
return 0;}