# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
87028 | 2018-11-29T08:55:11 Z | rakuten | Weighting stones (IZhO11_stones) | C++14 | 1000 ms | 2432 KB |
#include <bits/stdc++.h> using namespace std; int x , a , n , x1 , x2; set < int > v ; set < int > :: iterator vi ; set < int > q ; set < int > :: iterator qi ; int main() { scanf ("%d" , &n) ; for (int i = 0 ;i < n ;i ++ ) { x1 = 0 ; x2 = 0 ; scanf ("%d%d" , &x , &a) ; if (i == 0) { if (a == 1) cout << '>' << endl ; else cout << '<' << endl ; if (a == 1) v.insert (x) ; else q.insert (x) ; } else { if (a == 1) v.insert (x) ; else q.insert (x) ; if (v.size() == 0) cout << '<' << endl ; else if (q.size() == 0 ) cout << '>' << endl ; else { qi = --q.end(); for (vi = --v.end(); ; vi -- ) { if ( (*vi) > (*qi)) x1 ++ ; else x2 ++ ; if (qi == q.begin() || vi == v.begin() || (x1 > 0 && x2 > 0) ) break; qi -- ; } if (x1 > x2 && x2 == 0 && x1 == q.size() ) cout << '>' << endl ; else if (x1 < x2 && x1 == 0 && x2 == v.size() ) cout << '<' << endl; else cout << '?' << endl ; } } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 508 KB | Output is correct |
3 | Correct | 2 ms | 508 KB | Output is correct |
4 | Correct | 2 ms | 508 KB | Output is correct |
5 | Correct | 3 ms | 532 KB | Output is correct |
6 | Correct | 3 ms | 584 KB | Output is correct |
7 | Correct | 4 ms | 700 KB | Output is correct |
8 | Correct | 7 ms | 700 KB | Output is correct |
9 | Correct | 5 ms | 700 KB | Output is correct |
10 | Correct | 53 ms | 976 KB | Output is correct |
11 | Execution timed out | 1077 ms | 2432 KB | Time limit exceeded |
12 | Halted | 0 ms | 0 KB | - |