Cod sursa(job #2596446)

Utilizator anabatAna Batrineanu anabat Data 9 aprilie 2020 18:49:35
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.06 kb
#include <stdio.h>
#include <algorithm>

#include <vector>
#define NMAX 1000000
#define MOD 666013

using namespace std;

vector <int> v[NMAX+1]; ///v de NMAX vectori stl

bool verif(int i,int x){
  vector <int>::iterator j;
  for(j=v[i].begin();j!=v[i].end()&&*j!=x;j++); ///verificam daca mai avem vreun x deja in multime
  if(j!=v[i].end())
    return true;
  return false;
}

void deleteh(int i,int x){
  vector <int>::iterator j;
  for(j=v[i].begin();j!=v[i].end()&& *j!=x;j++); ///se plimba pana gaseste (daca) un j==x
  if(j!=v[i].end()){
    v[i].erase(j);
  }
}

int main()
{
  FILE *fin,*fout;
  fin=fopen("hashuri.in","r");
  fout=fopen("hashuri.out","w");

  int n,op,x,i,OK,j;
  fscanf(fin,"%d",&n);
  OK=0;
  for(i=1;i<=n;i++){
    fscanf(fin,"%d%d",&op,&x);
    if(op==1){
      if(verif(x%MOD,x)==false)
        v[x%MOD].push_back(x);
    }
    else if(op==2){
      deleteh(x%MOD,x);
    }
    else if(op==3){
      fprintf(fout,"%d\n",verif(x%MOD,x));
    }
  }

  fclose(fin);
  fclose(fout);

  return 0;
}