| Task: | Coins |
| Sender: | Tefyn virallinen maajoukkue |
| Submission time: | 2018-05-26 13:33:05 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.46 s | details |
| #2 | WRONG ANSWER | 0.41 s | details |
| #3 | WRONG ANSWER | 0.42 s | details |
| #4 | ACCEPTED | 0.34 s | details |
| #5 | WRONG ANSWER | 0.47 s | details |
Code
#include <bits/stdc++.h>
using namespace std;
struct seg{
const int pn = 1<<18;
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;
}*/Test details
Test 1
Verdict: WRONG ANSWER
| input |
|---|
| 200000 175878 1 146174 1 4939 2 181388 1 ... |
| correct output |
|---|
| > > > > > ... |
| user output |
|---|
| > > > > > ... |
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 200000 1 2 2 1 3 2 4 1 ... |
| correct output |
|---|
| < > < > < ... |
| user output |
|---|
| < > < ? ? ... |
Test 3
Verdict: WRONG ANSWER
| input |
|---|
| 200000 1 1 2 1 3 1 4 1 ... |
| correct output |
|---|
| > > > > > ... |
| user output |
|---|
| > > > > > ... |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 200000 1 1 2 1 3 1 4 1 ... |
| correct output |
|---|
| > > > > > ... |
| user output |
|---|
| > > > > > ... |
Test 5
Verdict: WRONG ANSWER
| input |
|---|
| 200000 188909 2 58944 1 26824 1 143263 2 ... |
| correct output |
|---|
| < < ? < < ... |
| user output |
|---|
| < < ? < < ... |
