CSES - HIIT Open 2018 - Results
 Task: Coins Sender: Tefyn virallinen maajoukkue Submission time: 2018-05-26 13:32:44 +0300 Language: C++ Status: READY Result: RUNTIME ERROR
Test results
testverdicttime
#10.01 sdetails
#20.04 sdetails
#30.04 sdetails
#40.05 sdetails
#50.01 sdetails

Code

```#include <bits/stdc++.h>

using namespace std;

struct seg{
const int pn = 1<<4;
vector<int> p;
void init(){
p = vector<int>(2*pn, 0);
}
void set(int i){
i+=pn;
p[i] = 1;
i/=2;
while(i > 0){
p[i] = p[2*i]+p[2*i+1];
i/=2;
}
}

int get(int i, int a, int b, int l, int r){
// cout << i << " " << a << " " << b << " " << l << " " << r << endl;
if(i >= 2*pn || b <= l || a >= r){
//cout << "r1" << endl;
return 0;
}
if(l >= a && r <= b){
// cout << "r2" << endl;
return p[i];
}
//cout << "r3" << endl;
return get(i*2, a, b, l, (l+r)/2) + get(i*2+1, a, b, (l+r)/2, b);
}
int get2(int a, int b){
return get(1, a, b, 0, pn);
}
};
int main(){
int n; cin >> n;

seg p1, p2;
p1.init();
p2.init();
int s1 = 0, s2 = 0;
int ma1 = 0, ma2 = 0;
for(int i = 0; i < n; ++i){
int c, s; cin >> c >> s;
if(s == 1){
p1.set(c);
++s1;
ma1 = max(ma1, c);
}
else{
p2.set(c);
++s2;
ma2 = max(ma2, c);
}
int su1 = p1.get2(ma2, n+1);
int su2 = p2.get2(ma1, n+1);
if(su1 >= s2)
cout << ">" << endl;
else if(su2 >= s1)
cout << "<" << endl;
else
cout << "?" << endl;
}

return 0;
}

/*
* int mi1 = 1000000000, mi2 = 1000000000;
int ma1 = 0, ma2 = 0;
int s1 = 0, s2 = 0;
for(int i = 0; i < n; ++i){
int c, s; cin >> c >> s;

if(s == 1){
s1++;
mi1 = min(mi1, c);
ma1 = max(ma1, c);
}
else{
s2++;
mi2 = min(mi2, c);
ma2 = max(ma2, c);
}
if(s1 >= s2 && mi1 >= ma2)
cout << ">" << endl;
else if(s2 >= s1 && mi2 >= ma1)
cout << "<" << endl;
else
cout << "?" << endl;
}*/```

Verdict:

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

correct output
>
>
>
>
>
...

user output
(empty)

Verdict:

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

correct output
<
>
<
>
<
...

user output
<
>
<
?
?
...

Verdict:

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

correct output
>
>
>
>
>
...

user output
>
>
>
>
>
...

Verdict:

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

correct output
>
>
>
>
>
...

user output
>
>
>
>
>
...

Verdict:

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

correct output
<
<
?
<
<
...

user output
(empty)