Cod sursa(job #2195802)

Utilizator flibiaVisanu Cristian flibia Data 17 aprilie 2018 13:34:07
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#pragma GCC optimize("03")
#include <bits/stdc++.h>
#define fi first
#define se second

using namespace std;

ifstream in("hashuri.in");
ofstream out("hashuri.out");

int n, cod, x, mp[1000100], hsh[1000100];
pair <int, int> a[1000100];

int main(){
	in >> n;
	for(int i = 1; i <= n; i++){
		in >> cod >> x;
		a[i] = {x, i};
	}
	sort(a + 1, a + n + 1);
	int p = 1, pp, cnt = 0;
	while(p <= n){
		cnt++;
		pp = p;
		while(pp <= n && a[pp].fi == a[p].fi)
			pp++;
		for(int i = p; i < pp; i++)
			hsh[a[i].se] = cnt;
		p = pp;
	}
	in.close();
	in.open("hashuri.in");
	in >> n;
	for(int i = 1; i <= n; i++){
		in >> cod >> x;
		if(cod == 1)
			mp[hsh[i]] = 1;
		else if(cod == 2)
			mp[hsh[i]] = 0;
		else out << mp[hsh[i]] << '\n';
	}
	return 0;
}