Cod sursa(job #239169)

Utilizator MciprianMMciprianM MciprianM Data 4 ianuarie 2009 12:25:13
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<fstream>
#include<vector>
#define prim 1000003
using namespace std;
vector<int>a[prim];
bool gasit(int x){
  vector<int>::iterator it;
  int i;
  for(it=a[x%prim].begin(),i=0;it!=a[x%prim].end();++it,++i)
    if(*it==x/prim)
      return i;
  return -1;
}
int main(){
  int n, i,cod,x;
  ifstream f("hashuri.in");
  ofstream g("hashuri.out");
  f>>n;
  for(i=0;i<n;i++)
  {
    f>>cod>>x;
    if(cod==1){
      a[x%prim].push_back(x/prim);
    }
    else if(cod==3) if(gasit(x)!=-1)  g<<"1\n";else g<<"0\n";
    else if(cod==2){
        int c=gasit(x);
        if(c!=-1){
          a[x%prim][c]=*(a[x%prim].end()-1);
          a[x%prim].pop_back();
        }
    }
  }
  f.close();
  g.close();
  return 0;
}