Submission #17845

#TimeUsernameProblemLanguageResultExecution timeMemory
17845ErzhannWeighting stones (IZhO11_stones)C++14
36 / 100
1000 ms4640 KiB
/*
  /\     /\
  | ).|.( |
  |  >-<  |
  =========
It's Adilkhan99 miaaaaaau      
*/
#include<bits/stdc++.h>

#define ll long long
#define pb push_back
#define endl "\n"
#define foreach(it, S) for(__typeof (S.begin()) it = S.begin(); it != S.end(); it++)
#define mp make_pair
#define f first
#define s second 
#define name ""
#define _ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);

using namespace std;
                                            
const int MaxN = int (2e5) + 256;
const int INF = int(1e9);  
const int mod = (int)(1e9) + 7;
int n, a[MaxN], m, t;
set<int> s, S;
bool u[MaxN], U[MaxN];
vector<char> v;

int main () { _
	cin >> n;
	for(int i = 1; i <= n; ++i){
		int x, y; cin >> x >> y;
		if(y == 2){
			if(!u[x]){
				S.insert(-x);
				U[x] = 1;
			}else{
				s.erase(-x);					
				u[x] = 0;
			}	
		}
		else{
		    if(!U[x]){
				s.insert(-x);
				u[x] = 1;
			}else{
				S.erase(-x);
				U[x] = 0;
			}
		}
		auto I = s.begin();
		auto J = S.begin();
		bool ok = 0, ok1 = 0;
		if(s.size() > S.size())
			ok = 1;
		if(S.size() > s.size())
			ok1 = 1;
		while(I != s.end() && J != S.end()){
			if(ok && ok1){
				break;
			}
			if(-(*I) > -(*J))
				ok = 1;
			if(-(*I) < -(*J))
				ok1 = 1;
			I++;
			J++;
		}
		if(ok && ok1)
			v.pb('?');
		else if(ok)
			v.pb('>');
		else v.pb('<');		
	}
	for(int i = 0; i < v.size(); i++)
		cout << v[i] << endl; 	
return 0;
}                   									
#Verdict Execution timeMemoryGrader output
Fetching results...