Submission #17890

#TimeUsernameProblemLanguageResultExecution timeMemory
17890ErzhannWeighting stones (IZhO11_stones)C++14
40 / 100
1000 ms4484 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];
 
int main () {
    scanf("%d", &n);
    for(int i = 1; i <= n; ++i){
        int x, y; scanf("%d%d", &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)
            puts("?");
        else if(ok)
            puts(">");
        else puts("<");     
    } 
return 0;
}       
#Verdict Execution timeMemoryGrader output
Fetching results...