CSES - HIIT Open 2018 - Results
Submission details
Task:Coins
Sender:Oispa nutellaa
Submission time:2018-05-26 15:59:15 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#10.10 sdetails
#2ACCEPTED0.07 sdetails
#30.06 sdetails
#40.07 sdetails
#50.08 sdetails

Code

#include <iostream>
using namespace std;
int n;
int mx[4];
int sz[4];
bool sqt[4][200005];
int mxsi[4];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n;
mxsi[1] = mxsi[2] = -1;
for (int i = 0; i < n; ++i) {
int c, s;
cin >> c >> s;
sz[s]++;
mx[s] = max(mx[s], c);
sqt[s][c] = true;
if (sqt[s][c-1]) mxsi[s] = max(mxsi[s], c);
if (sqt[s][c+1]) mxsi[s] = max(mxsi[s], c+1);
if (sz[1] == 0) cout << "<\n";
else if (sz[2] == 0) cout << ">\n";
else if (sz[1] == 1 && mx[2] > mx[1]) {
cout << "<\n";
}
else if (sz[2] == 1 && mx[1] > mx[2]) {
cout << ">\n";
}
else if (sz[1] < sz[2]) {
cout << "<\n";
}
else if (sz[1] > sz[2]) {
cout << ">\n";
}
else {
if (mx[1] > mx[2] && mxsi[2] == -1) cout << ">\n";
else if (mx[1] < mx[2] && mxsi[1] == -1) cout << "<\n";
else if (mx[1] > mx[2] && mxsi[1] > mxsi[2]) cout << ">\n";
else if (mx[1] < mx[2] && mxsi[1] < mxsi[2]) cout << "<\n";
else cout << "?\n";
}
}
return 0;
}

Test details

Test 1

Verdict:

input
200000
175878 1
146174 1
4939 2
181388 1
...

correct output
>
>
>
>
>
...

user output
>
>
>
>
>
...

Test 2

Verdict: ACCEPTED

input
200000
1 2
2 1
3 2
4 1
...

correct output
<
>
<
>
<
...

user output
<
>
<
>
<
...

Test 3

Verdict:

input
200000
1 1
2 1
3 1
4 1
...

correct output
>
>
>
>
>
...

user output
>
>
>
>
>
...

Test 4

Verdict:

input
200000
1 1
2 1
3 1
4 1
...

correct output
>
>
>
>
>
...

user output
>
>
>
>
>
...

Test 5

Verdict:

input
200000
188909 2
58944 1
26824 1
143263 2
...

correct output
<
<
?
<
<
...

user output
<
<
>
<
<
...