Cod sursa(job #940855)

Utilizator forgetHow Si Yu forget Data 17 aprilie 2013 11:39:26
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>
#include <list>
using namespace std;

const int mod = 500003;
list<int> a[mod];
list<int>::iterator it;

int main()
{
	ifstream fin("hashuri.in");
	ofstream fout("hashuri.out");

	int n;
	fin >> n;
	int op, x, k;
	for (int i = 0; i < n; ++i) {
		fin >> op >> x;
		k = x%mod;
		if (op == 1) {
			for (it = a[k].begin(); it != a[k].end(); ++it) {
				if (*it == x) {
					a[k].erase(it);
					break;
				}
			}
			a[k].push_front(x);
		}
		else if (op == 2) {
			for (it = a[k].begin(); it != a[k].end(); ++it) {
				if (*it == x) {
					a[k].erase(it);
					break;
				}
			}
		}
		else {
			for (it = a[k].begin(); it != a[k].end(); ++it) {
				if (*it == x) {
					a[k].erase(it);
					a[k].push_front(x);
					break;
				}
			}
			fout << (it != a[k].end()) << '\n';
		}
	}
	return 0;
}