Cod sursa(job #2586269)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 20 martie 2020 11:54:31
Problema Hashuri Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include<bits/stdc++.h>
using namespace std;
const int MOD=666019;
list<int> m[MOD];
bool apare(int x){
  auto it=m[x%MOD].begin();
  for(auto it=m[x%MOD].begin();it!=m[x%MOD].end();it++){
    if(*it==x){
       break;
     }
  }
  if(it==m[x%MOD].end()){
    return false;
  }
  return true;
}
void sterge(int x){
  auto it=m[x%MOD].begin();
  for(auto it=m[x%MOD].begin();it!=m[x%MOD].end();it++){
    if(*it==x){
       break;
     }
  }
  if(it==m[x%MOD].end()){
    return;
  }
  m[x%MOD].erase(it);
}
int main()
{
  FILE*fin,*fout;
  fin=fopen("hashuri.in","r");
  fout=fopen("hashuri.out","w");
  int n;
  fscanf(fin,"%d",&n);
  for(int i=1;i<=n;i++){
    int c,x;
    fscanf(fin,"%d%d",&c,&x);
    if(c==1){
      if(apare(x)==false)
        m[x%MOD].push_back(x);
    }
    if(c==2){
      sterge(x);
    }
    if(c==3){
      fprintf(fout,"%d\n",apare(x));
    }
  }
  return 0;
}