Cod sursa(job #2027459)
Utilizator | Panaete Adrian proflaurian | Data | 26 septembrie 2017 09:35:17 |
---|---|---|---|
Problema | Hashuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.81 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int h = 100003;
int q,v,r,op;
vector<int> H[h];
int main()
{
f>>q;
for(; q; q--)
{
f>>op>>v;
r=v%h;
vector<int>::iterator it;
for(it=H[r].begin(); it!=H[r].end(); it++)
if(*it==v)
break;
if(op==1)
{
if(it==H[r].end())
H[r].push_back(v);
}
else if(op==2)
{
if(it!=H[r].end())
{
*it=H[r].back();
H[r].pop_back();
}
}
else
{
if(it==H[r].end())
g<<"0\n";
else
g<<"1\n";
}
}
return 0;
}