QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#865661 | #866. Display of Springs | ASnown | TL | 5ms | 3840kb | C++17 | 1.8kb | 2025-01-21 20:55:32 | 2025-01-21 20:55:33 |
Judging History
answer
#include<bits/stdc++.h>
#define file(F) freopen(#F".in","r",stdin),freopen(#F".out","w",stdout)
#define lowbit(x) ((x)&-(x))
#define ALL(x) (x).begin(),(x).end()
#define debug(...) fprintf(stderr,__VA_ARGS__)
#define popc(x) (__builtin_popcountll((x)))
#define abs(x) ((x)>=0?(x):-(x))
using namespace std;
using ll=long long;
using uint=uint32_t;
namespace asnown {
using i32=int32_t; using u32=uint32_t;
using i64=int64_t; using u64=uint64_t;
using i128=__int128_t; using u128=__uint128_t; };
template<typename T>
inline bool Max(T &x,T y) { return std::less<T>()(x,y)&&(x=y,true); }
template<typename T>
inline bool Min(T &x,T y) { return std::less<T>()(y,x)&&(x=y,true); }
void Solve();
const int N = 1e5+15;
namespace SGT {
inline bool cmp(int p,int q,int x) {
if(!p||!q) return bool(p);
printf("? %d %d %d\n",p-1,q-1,x); fflush(stdout);
string res; cin>>res;
return res=="FIRST";
}
const int N = ::N<<2;
#define mid ((L+R)>>1)
#define ls (u<<1)
#define rs (ls|1)
int d[N];
void update(int u,int L,int R,int k) {
if(cmp(k,d[u],mid)) swap(k,d[u]);
if(L==R) return ;
if(cmp(k,d[u],L)) update(ls,L,mid,k);
if(cmp(k,d[u],R)) update(rs,mid+1,R,k);
}
int query(int u,int L,int R,int x) {
if(L==R) return d[u];
int p=(x<=mid?query(ls,L,mid,x):query(rs,mid+1,R,x));
return cmp(d[u],p,x)?d[u]:p;
}
#undef mid
#undef ls
#undef rs
}
signed main() {
#ifndef ONLINE_JUDGE
#endif
cin.tie(nullptr)->sync_with_stdio(false);
Solve();
}
void Solve() {
int n; cin>>n;
for(int i=1;i<=n;i++) SGT::update(1,1,1e5,i);
puts("!"); fflush(stdout);
while(true) {
string op; cin>>op;
if(op=="FINISH") break;
int w; cin>>w;
printf("! %d\n",SGT::query(1,1,1e5,w)-1); fflush(stdout);
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3712kb
input:
3 FIRST SECOND SECOND FIRST FIRST SECOND QUESTION 2 SECOND QUESTION 6 FIRST FINISH
output:
? 1 0 50000 ? 0 1 1 ? 0 1 100000 ? 2 1 50000 ? 1 2 1 ? 1 2 100000 ! ? 2 1 2 ! 1 ? 2 1 6 ! 2
result:
ok Correct answer
Test #2:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
6 FIRST EQUAL SECOND FIRST FIRST SECOND FIRST FIRST FIRST FIRST SECOND SECOND FIRST FIRST FIRST FIRST FIRST FIRST SECOND SECOND SECOND FIRST FIRST FIRST FIRST FIRST FIRST FIRST FIRST SECOND SECOND SECOND SECOND QUESTION 1 SECOND SECOND SECOND SECOND QUESTION 2 EQUAL SECOND SECOND SECOND QUESTION 3 F...
output:
? 1 0 50000 ? 0 1 1 ? 0 1 100000 ? 2 1 50000 ? 1 2 1 ? 1 2 100000 ? 3 2 50000 ? 2 3 1 ? 2 1 25000 ? 1 2 1 ? 1 2 50000 ? 2 3 100000 ? 4 3 50000 ? 3 4 1 ? 3 2 25000 ? 2 3 1 ? 2 1 12500 ? 1 2 1 ? 1 2 25000 ? 2 3 50000 ? 3 4 100000 ? 5 4 50000 ? 4 5 1 ? 4 3 25000 ? 3 4 1 ? 3 2 12500 ? 2 3 1 ? 2 1 6250 ?...
result:
ok Correct answer
Test #3:
score: 0
Accepted
time: 2ms
memory: 3712kb
input:
326 SECOND SECOND SECOND SECOND FIRST SECOND FIRST FIRST FIRST FIRST SECOND SECOND SECOND FIRST SECOND FIRST FIRST SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND FIRST SECOND SECOND SECOND SECOND SECOND FIRST SECOND SECOND SECOND SECOND FIRST SECOND SECOND SECOND SECOND SECOND SECOND SECOND...
output:
? 1 0 50000 ? 1 0 1 ? 1 0 100000 ? 2 0 50000 ? 2 0 1 ? 2 0 100000 ? 3 0 50000 ? 0 3 1 ? 0 2 25000 ? 2 0 1 ? 2 0 50000 ? 0 3 100000 ? 4 3 50000 ? 4 3 1 ? 4 0 25000 ? 4 0 1 ? 4 2 12500 ? 2 4 1 ? 2 4 25000 ? 4 0 50000 ? 4 3 100000 ? 5 3 50000 ? 5 3 1 ? 5 3 100000 ? 6 3 50000 ? 6 3 1 ? 6 0 25000 ? 6 0 1...
result:
ok Correct answer
Test #4:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
19 FIRST SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND FIRST FIRST SECOND SECOND SECOND SECOND FIRST SECOND SECOND FIRST SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND FIRST SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SE...
output:
? 1 0 50000 ? 0 1 1 ? 0 1 100000 ? 2 1 50000 ? 2 1 1 ? 2 1 100000 ? 3 1 50000 ? 3 1 1 ? 3 1 100000 ? 4 1 50000 ? 4 1 1 ? 4 1 100000 ? 5 1 50000 ? 5 1 1 ? 5 1 100000 ? 6 1 50000 ? 1 6 1 ? 1 6 100000 ? 7 6 50000 ? 7 6 1 ? 7 6 100000 ? 8 6 50000 ? 6 8 1 ? 6 8 100000 ? 9 8 50000 ? 8 9 1 ? 8 9 100000 ? 1...
result:
ok Correct answer
Test #5:
score: 0
Accepted
time: 5ms
memory: 3712kb
input:
500 FIRST SECOND SECOND FIRST SECOND SECOND FIRST SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND FIRST SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND...
output:
? 1 0 50000 ? 0 1 1 ? 0 1 100000 ? 2 1 50000 ? 1 2 1 ? 1 2 100000 ? 3 2 50000 ? 2 3 1 ? 2 3 100000 ? 4 3 50000 ? 4 3 1 ? 4 3 100000 ? 5 3 50000 ? 5 3 1 ? 5 3 100000 ? 6 3 50000 ? 6 3 1 ? 6 3 100000 ? 7 3 50000 ? 3 7 1 ? 3 7 100000 ? 8 7 50000 ? 8 7 1 ? 8 7 100000 ? 9 7 50000 ? 9 7 1 ? 9 7 100000 ? 1...
result:
ok Correct answer
Test #6:
score: 0
Accepted
time: 3ms
memory: 3840kb
input:
500 EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQUAL EQ...
output:
? 1 0 50000 ? 1 0 1 ? 1 0 100000 ? 2 0 50000 ? 2 0 1 ? 2 0 100000 ? 3 0 50000 ? 3 0 1 ? 3 0 100000 ? 4 0 50000 ? 4 0 1 ? 4 0 100000 ? 5 0 50000 ? 5 0 1 ? 5 0 100000 ? 6 0 50000 ? 6 0 1 ? 6 0 100000 ? 7 0 50000 ? 7 0 1 ? 7 0 100000 ? 8 0 50000 ? 8 0 1 ? 8 0 100000 ? 9 0 50000 ? 9 0 1 ? 9 0 100000 ? 1...
result:
ok Correct answer
Test #7:
score: 0
Accepted
time: 4ms
memory: 3712kb
input:
500 FIRST SECOND SECOND SECOND SECOND SECOND FIRST SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND FIRST SECOND SECOND SECOND SECOND SECOND SECON...
output:
? 1 0 50000 ? 0 1 1 ? 0 1 100000 ? 2 1 50000 ? 2 1 1 ? 2 1 100000 ? 3 1 50000 ? 1 3 1 ? 1 3 100000 ? 4 3 50000 ? 4 3 1 ? 4 3 100000 ? 5 3 50000 ? 5 3 1 ? 5 3 100000 ? 6 3 50000 ? 6 3 1 ? 6 3 100000 ? 7 3 50000 ? 7 3 1 ? 7 3 100000 ? 8 3 50000 ? 8 3 1 ? 8 3 100000 ? 9 3 50000 ? 9 3 1 ? 9 3 100000 ? 1...
result:
ok Correct answer
Test #8:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
500 SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SECOND SE...
output:
? 1 0 50000 ? 1 0 1 ? 1 0 100000 ? 2 0 50000 ? 2 0 1 ? 2 0 100000 ? 3 0 50000 ? 3 0 1 ? 3 0 100000 ? 4 0 50000 ? 4 0 1 ? 4 0 100000 ? 5 0 50000 ? 5 0 1 ? 5 0 100000 ? 6 0 50000 ? 6 0 1 ? 6 0 100000 ? 7 0 50000 ? 7 0 1 ? 7 0 100000 ? 8 0 50000 ? 8 0 1 ? 8 0 100000 ? 9 0 50000 ? 9 0 1 ? 9 0 100000 ? 1...
result:
ok Correct answer
Test #9:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
2 FIRST FIRST SECOND QUESTION 64500 QUESTION 22602 FIRST QUESTION 37446 FIRST QUESTION 97972 QUESTION 78630 QUESTION 75591 QUESTION 63328 QUESTION 64746 QUESTION 94532 QUESTION 51275 QUESTION 12189 FIRST QUESTION 64341 QUESTION 85825 QUESTION 63713 QUESTION 36778 FIRST QUESTION 27116 FIRST QUESTION ...
output:
? 1 0 50000 ? 0 1 1 ? 0 1 100000 ! ! 1 ? 1 0 22602 ! 1 ? 1 0 37446 ! 1 ! 1 ! 1 ! 1 ! 1 ! 1 ! 1 ! 1 ? 1 0 12189 ! 1 ! 1 ! 1 ! 1 ? 1 0 36778 ! 1 ? 1 0 27116 ! 1 ? 1 0 18630 ! 1 ! 1 ? 1 0 28074 ! 1 ! 1 ! 1 ? 1 0 39195 ! 1 ! 1 ? 1 0 1182 ! 1 ! 1 ! 1 ! 1 ? 1 0 7017 ! 1 ? 1 0 13589 ! 1 ! 1 ! 1 ? 1 0 48324...
result:
ok Correct answer
Test #10:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
2 FIRST FIRST SECOND QUESTION 54311 QUESTION 8466 SECOND QUESTION 82055 QUESTION 65419 QUESTION 5271 SECOND QUESTION 4799 SECOND QUESTION 21521 FIRST QUESTION 66767 QUESTION 24897 FIRST QUESTION 69127 QUESTION 84527 QUESTION 23303 FIRST QUESTION 88924 QUESTION 56421 QUESTION 88108 QUESTION 74033 QUE...
output:
? 1 0 50000 ? 0 1 1 ? 0 1 100000 ! ! 1 ? 1 0 8466 ! 0 ! 1 ! 1 ? 1 0 5271 ! 0 ? 1 0 4799 ! 0 ? 1 0 21521 ! 1 ! 1 ? 1 0 24897 ! 1 ! 1 ! 1 ? 1 0 23303 ! 1 ! 1 ! 1 ! 1 ! 1 ? 1 0 25348 ! 1 ? 1 0 10105 ! 0 ! 1 ? 1 0 33359 ! 1 ? 1 0 49782 ! 1 ? 1 0 20392 ! 1 ! 1 ! 1 ? 1 0 4246 ! 0 ! 1 ? 1 0 8620 ! 0 ? 1 0 ...
result:
ok Correct answer
Test #11:
score: -100
Time Limit Exceeded
input:
500 SECOND FIRST SECOND FIRST FIRST FIRST FIRST SECOND SECOND SECOND FIRST FIRST FIRST FIRST FIRST SECOND SECOND SECOND FIRST FIRST FIRST FIRST FIRST FIRST FIRST FIRST SECOND SECOND SECOND SECOND SECOND FIRST FIRST FIRST FIRST FIRST FIRST FIRST FIRST FIRST SECOND SECOND SECOND SECOND SECOND SECOND F...
output:
? 1 0 50000 ? 1 0 1 ? 1 0 100000 ? 2 0 50000 ? 0 2 1 ? 0 1 25000 ? 1 0 1 ? 1 0 50000 ? 0 2 100000 ? 3 2 50000 ? 3 2 1 ? 3 0 25000 ? 0 3 1 ? 0 1 12500 ? 1 0 1 ? 1 0 25000 ? 0 3 50000 ? 3 2 100000 ? 4 2 50000 ? 2 4 1 ? 2 3 25000 ? 3 2 1 ? 3 0 12500 ? 0 3 1 ? 0 1 6250 ? 1 0 1 ? 1 0 12500 ? 0 3 25000 ? ...