# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
87027 | 2018-11-29T08:53:28 Z | rakuten | Weighting stones (IZhO11_stones) | C++14 | 1000 ms | 2308 KB |
#include <bits/stdc++.h> #define fr first #define sc second #define pb push_back #define mk make_pair #define ll long long #define OK puts("OK") #define sz(s) (int)s.size() #define all(s) s.begin(), s.end() 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() { cin >> 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 | 252 KB | Output is correct |
2 | Correct | 2 ms | 372 KB | Output is correct |
3 | Correct | 3 ms | 408 KB | Output is correct |
4 | Correct | 2 ms | 408 KB | Output is correct |
5 | Correct | 3 ms | 456 KB | Output is correct |
6 | Correct | 3 ms | 456 KB | Output is correct |
7 | Correct | 4 ms | 456 KB | Output is correct |
8 | Correct | 5 ms | 460 KB | Output is correct |
9 | Correct | 5 ms | 516 KB | Output is correct |
10 | Correct | 53 ms | 860 KB | Output is correct |
11 | Execution timed out | 1084 ms | 2308 KB | Time limit exceeded |
12 | Halted | 0 ms | 0 KB | - |