Cod sursa(job #1701609)

Utilizator PetrescuAlexandru Petrescu Petrescu Data 13 mai 2016 17:41:59
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.13 kb
#include <cstdio>
#include <vector>
#include <iostream>

using namespace std;
vector <int> a[666013];
vector <int>::iterator it;

int main()
{
  FILE *fin, *fout;
  int n, i, op, x, restul, semafor;

  fin = fopen("hashuri.in", "r");
  fout = fopen("hashuri.out", "w");
  fscanf(fin, "%d", &n);
  for(i = 0; i < n; i++)
	{
		fscanf(fin, "%d%d", &op, &x);
    if(op == 1)
		{
      restul = x % 666013;
      semafor = 1;
      for(it = a[restul].begin(); it != a[restul].end(); it++)
        if(*it == x)
				{
					semafor = 0;
          it = a[restul].end() - 1;
				}
			if(semafor == 1)a[restul].push_back(x);
		}
		if(op == 2)
		{
			restul = x % 666013;
      for(it = a[restul].begin(); it != a[restul].end(); it++)
        if(*it == x)
				{
					a[restul].erase(it);
          it = a[restul].end() - 1;
				}
		}
		if(op == 3)
		{
			restul = x %666013;
			semafor = 0;
      for(it = a[restul].begin(); it != a[restul].end(); it++)
				if(*it == x)
				{
					semafor = 1;
					it = a[restul].end() - 1;
				}
			fprintf(fout, "%d\n", semafor);
		}
	}
	fclose(fin);
	fclose(fout);
	return 0;
}