QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#103797 | #6394. Turn on the Light | tarjen | AC ✓ | 4ms | 3464kb | C++17 | 803b | 2023-05-07 16:13:09 | 2023-05-07 16:13:13 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int maxn=1010;
int query(int x){
cout<<"? "<<x<<endl;
int z;cin>>z;return z;
}
void write(int x){
cout<<"! "<<x<<endl;
exit(0);
}
int main()
{
int n;cin>>n;
if(n==1)write(n);
// int L=0,R=0;
int left=1;
int now=0;
int l=1,r=n,res=-1;
while(l<=r){
int mid=(l+r)/2;
// cout<<"l="<<l<<" r="<<r<<"\n";
if(now==0){
now=query(left++);
if(now==0)write(left-1);
continue;
}
if(mid<left)mid++;
int t=query(mid);
if(t==now)write(mid);
res=mid;
if(t<now){
now=t;
r=mid-1;
}
else now=t,l=mid+1;
}
write(res);
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 3352kb
input:
3 1 2 2
output:
? 1 ? 2 ? 3 ! 3
result:
ok Correct position at 3
Test #2:
score: 0
Accepted
time: 0ms
memory: 3464kb
input:
10 1 2 3 3
output:
? 1 ? 5 ? 8 ? 9 ! 9
result:
ok Correct position at 9
Test #3:
score: 0
Accepted
time: 2ms
memory: 3260kb
input:
9 1 2 3 3
output:
? 1 ? 5 ? 7 ? 8 ! 8
result:
ok Correct position at 8
Test #4:
score: 0
Accepted
time: 2ms
memory: 3460kb
input:
8 1 2 3 3
output:
? 1 ? 4 ? 6 ? 7 ! 7
result:
ok Correct position at 7
Test #5:
score: 0
Accepted
time: 3ms
memory: 3356kb
input:
7 1 2 3 3
output:
? 1 ? 4 ? 6 ? 7 ! 7
result:
ok Correct position at 7
Test #6:
score: 0
Accepted
time: 1ms
memory: 3288kb
input:
6 1 2 3 3
output:
? 1 ? 3 ? 5 ? 6 ! 6
result:
ok Correct position at 6
Test #7:
score: 0
Accepted
time: 2ms
memory: 3236kb
input:
5 1 2 3 3
output:
? 1 ? 3 ? 4 ? 5 ! 5
result:
ok Correct position at 5
Test #8:
score: 0
Accepted
time: 3ms
memory: 3356kb
input:
4 1 2 3 3
output:
? 1 ? 2 ? 3 ? 4 ! 4
result:
ok Correct position at 4
Test #9:
score: 0
Accepted
time: 2ms
memory: 3360kb
input:
3 1 1
output:
? 1 ? 2 ! 2
result:
ok Correct position at 2
Test #10:
score: 0
Accepted
time: 2ms
memory: 3328kb
input:
2 1 1
output:
? 1 ? 2 ! 2
result:
ok Correct position at 2
Test #11:
score: 0
Accepted
time: 2ms
memory: 3304kb
input:
1
output:
! 1
result:
ok Correct position at 1
Test #12:
score: 0
Accepted
time: 3ms
memory: 3368kb
input:
1000000 1 2 3 4 5 6 7 6 7 8 7 8 9 10 11 12 13 14 15 16 16
output:
? 1 ? 500000 ? 750000 ? 875000 ? 937500 ? 968750 ? 984375 ? 992188 ? 988281 ? 990234 ? 991211 ? 990722 ? 990966 ? 991088 ? 991149 ? 991180 ? 991195 ? 991203 ? 991207 ? 991209 ? 991210 ! 991210
result:
ok Correct position at 991210
Test #13:
score: 0
Accepted
time: 0ms
memory: 3420kb
input:
999999 1 2 3 2 3 2 1 2 3 4 3 4 5 6 7 8 9 10 11 12 12
output:
? 1 ? 500000 ? 750000 ? 875000 ? 812500 ? 843750 ? 828125 ? 820312 ? 824218 ? 826171 ? 827148 ? 826659 ? 826903 ? 827025 ? 827086 ? 827117 ? 827132 ? 827140 ? 827144 ? 827146 ? 827147 ! 827147
result:
ok Correct position at 827147
Test #14:
score: 0
Accepted
time: 3ms
memory: 3276kb
input:
999998 1 2 3 2 3 2 1 2 3 4 3 4 5 6 7 8 9 10 11 12 12
output:
? 1 ? 499999 ? 749999 ? 874999 ? 812499 ? 843749 ? 828124 ? 820311 ? 824217 ? 826170 ? 827147 ? 826658 ? 826902 ? 827024 ? 827085 ? 827116 ? 827131 ? 827139 ? 827143 ? 827145 ? 827146 ! 827146
result:
ok Correct position at 827146
Test #15:
score: 0
Accepted
time: 0ms
memory: 3412kb
input:
999997 1 2 3 2 3 2 1 2 3 4 3 4 5 6 7 8 9 10 11 12 12
output:
? 1 ? 499999 ? 749998 ? 874998 ? 812498 ? 843748 ? 828123 ? 820310 ? 824216 ? 826169 ? 827146 ? 826657 ? 826901 ? 827023 ? 827084 ? 827115 ? 827130 ? 827138 ? 827142 ? 827144 ? 827145 ! 827145
result:
ok Correct position at 827145
Test #16:
score: 0
Accepted
time: 3ms
memory: 3220kb
input:
999996 1 2 3 2 3 2 1 2 3 4 3 4 5 6 7 8 9 10 11 12 12
output:
? 1 ? 499998 ? 749997 ? 874997 ? 812497 ? 843747 ? 828122 ? 820309 ? 824215 ? 826168 ? 827145 ? 826656 ? 826900 ? 827022 ? 827083 ? 827114 ? 827129 ? 827137 ? 827141 ? 827143 ? 827144 ! 827144
result:
ok Correct position at 827144
Test #17:
score: 0
Accepted
time: 4ms
memory: 3416kb
input:
999995 1 2 3 4 5 4 3 4 5 6 5 6 7 8 9 10 11 12 13 14 14
output:
? 1 ? 499998 ? 749997 ? 874996 ? 937496 ? 968746 ? 953121 ? 945308 ? 949214 ? 951167 ? 952144 ? 951655 ? 951899 ? 952021 ? 952082 ? 952113 ? 952128 ? 952136 ? 952140 ? 952142 ? 952143 ! 952143
result:
ok Correct position at 952143
Test #18:
score: 0
Accepted
time: 3ms
memory: 3224kb
input:
999994 1 2 3 4 5 4 3 4 5 6 5 6 7 8 9 10 11 12 13 14 14
output:
? 1 ? 499997 ? 749996 ? 874995 ? 937495 ? 968745 ? 953120 ? 945307 ? 949213 ? 951166 ? 952143 ? 951654 ? 951898 ? 952020 ? 952081 ? 952112 ? 952127 ? 952135 ? 952139 ? 952141 ? 952142 ! 952142
result:
ok Correct position at 952142
Test #19:
score: 0
Accepted
time: 1ms
memory: 3416kb
input:
999993 1 2 3 4 5 4 3 4 5 6 5 6 7 8 9 10 11 12 13 14 14
output:
? 1 ? 499997 ? 749995 ? 874994 ? 937494 ? 968744 ? 953119 ? 945306 ? 949212 ? 951165 ? 952142 ? 951653 ? 951897 ? 952019 ? 952080 ? 952111 ? 952126 ? 952134 ? 952138 ? 952140 ? 952141 ! 952141
result:
ok Correct position at 952141
Test #20:
score: 0
Accepted
time: 1ms
memory: 3300kb
input:
999992 1 2 3 4 5 4 3 4 5 6 5 6 7 8 9 10 11 12 13 14 14
output:
? 1 ? 499996 ? 749994 ? 874993 ? 937493 ? 968743 ? 953118 ? 945305 ? 949211 ? 951164 ? 952141 ? 951652 ? 951896 ? 952018 ? 952079 ? 952110 ? 952125 ? 952133 ? 952137 ? 952139 ? 952140 ! 952140
result:
ok Correct position at 952140
Test #21:
score: 0
Accepted
time: 0ms
memory: 3348kb
input:
999991 1 2 3 2 3 2 1 2 3 4 3 4 5 6 7 8 9 10 11 12 12
output:
? 1 ? 499996 ? 749994 ? 874993 ? 812493 ? 843743 ? 828118 ? 820305 ? 824211 ? 826164 ? 827141 ? 826652 ? 826896 ? 827018 ? 827079 ? 827110 ? 827125 ? 827133 ? 827137 ? 827139 ? 827140 ! 827140
result:
ok Correct position at 827140
Test #22:
score: 0
Accepted
time: 0ms
memory: 3300kb
input:
1000000 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 1 2 3 3
output:
? 1 ? 500000 ? 2 ? 250000 ? 3 ? 125000 ? 4 ? 62500 ? 5 ? 31250 ? 6 ? 15625 ? 7 ? 7812 ? 8 ? 3906 ? 9 ? 1953 ? 10 ? 976 ? 11 ? 488 ? 12 ? 244 ? 13 ? 122 ? 14 ? 61 ? 15 ? 30 ? 45 ? 37 ? 41 ? 43 ! 43
result:
ok Correct position at 43
Test #23:
score: 0
Accepted
time: 3ms
memory: 3456kb
input:
999999 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 3 2 3 3
output:
? 1 ? 500000 ? 2 ? 250000 ? 3 ? 125000 ? 4 ? 62500 ? 5 ? 31250 ? 6 ? 15625 ? 7 ? 7812 ? 8 ? 3906 ? 9 ? 1953 ? 10 ? 976 ? 11 ? 488 ? 12 ? 244 ? 13 ? 122 ? 14 ? 61 ? 15 ? 30 ? 45 ? 53 ? 49 ? 51 ! 51
result:
ok Correct position at 51
Test #24:
score: 0
Accepted
time: 1ms
memory: 3232kb
input:
999998 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 3 2 3 3
output:
? 1 ? 499999 ? 2 ? 249999 ? 3 ? 124999 ? 4 ? 62499 ? 5 ? 31249 ? 6 ? 15624 ? 7 ? 7812 ? 8 ? 3906 ? 9 ? 1953 ? 10 ? 976 ? 11 ? 488 ? 12 ? 244 ? 13 ? 122 ? 14 ? 61 ? 15 ? 30 ? 45 ? 53 ? 49 ? 51 ! 51
result:
ok Correct position at 51
Test #25:
score: 0
Accepted
time: 4ms
memory: 3296kb
input:
999997 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 3 2 3 3
output:
? 1 ? 499999 ? 2 ? 249999 ? 3 ? 124999 ? 4 ? 62499 ? 5 ? 31249 ? 6 ? 15624 ? 7 ? 7812 ? 8 ? 3906 ? 9 ? 1953 ? 10 ? 976 ? 11 ? 488 ? 12 ? 244 ? 13 ? 122 ? 14 ? 61 ? 15 ? 30 ? 45 ? 53 ? 49 ? 51 ! 51
result:
ok Correct position at 51
Test #26:
score: 0
Accepted
time: 3ms
memory: 3308kb
input:
1000000 1 2 3 4 5 6 7 8 9 10 11 12 13 12 11 10 11 12 11 12 12
output:
? 1 ? 500000 ? 750000 ? 875000 ? 937500 ? 968750 ? 984375 ? 992188 ? 996094 ? 998047 ? 999024 ? 999512 ? 999756 ? 999878 ? 999817 ? 999786 ? 999771 ? 999778 ? 999782 ? 999780 ? 999781 ! 999781
result:
ok Correct position at 999781
Test #27:
score: 0
Accepted
time: 3ms
memory: 3276kb
input:
999999 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 15 16 16
output:
? 1 ? 500000 ? 750000 ? 875000 ? 937500 ? 968750 ? 984375 ? 992187 ? 996093 ? 998046 ? 999023 ? 999511 ? 999755 ? 999877 ? 999938 ? 999969 ? 999984 ? 999976 ? 999980 ! 999980
result:
ok Correct position at 999980
Test #28:
score: 0
Accepted
time: 3ms
memory: 3228kb
input:
999998 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 15 16 16
output:
? 1 ? 499999 ? 749999 ? 874999 ? 937499 ? 968749 ? 984374 ? 992186 ? 996092 ? 998045 ? 999022 ? 999510 ? 999754 ? 999876 ? 999937 ? 999968 ? 999983 ? 999975 ? 999979 ! 999979
result:
ok Correct position at 999979
Test #29:
score: 0
Accepted
time: 3ms
memory: 3420kb
input:
999997 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 15 16 16
output:
? 1 ? 499999 ? 749998 ? 874998 ? 937498 ? 968748 ? 984373 ? 992185 ? 996091 ? 998044 ? 999021 ? 999509 ? 999753 ? 999875 ? 999936 ? 999967 ? 999982 ? 999974 ? 999978 ! 999978
result:
ok Correct position at 999978
Test #30:
score: 0
Accepted
time: 0ms
memory: 3288kb
input:
1000000 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 13 12 13 12 12
output:
? 1 ? 500000 ? 2 ? 250000 ? 375000 ? 437500 ? 468750 ? 484375 ? 492187 ? 496093 ? 498046 ? 499023 ? 499511 ? 499755 ? 499877 ? 499938 ? 499969 ? 499953 ? 499945 ? 499949 ? 499947 ! 499947
result:
ok Correct position at 499947
Test #31:
score: 0
Accepted
time: 1ms
memory: 3300kb
input:
999999 1 2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 1 0 1 2 1 1
output:
? 1 ? 500000 ? 750000 ? 625000 ? 2 ? 562500 ? 3 ? 531250 ? 4 ? 515625 ? 5 ? 507812 ? 6 ? 503906 ? 7 ? 501953 ? 8 ? 500976 ? 9 ? 500488 ? 10 ? 500244 ? 11 ? 500122 ? 12 ? 500061 ? 500091 ? 500076 ? 13 ? 500068 ? 500072 ? 500070 ! 500070
result:
ok Correct position at 500070
Test #32:
score: 0
Accepted
time: 4ms
memory: 3268kb
input:
999998 1 2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 1 2 1 0 1 1
output:
? 1 ? 499999 ? 749999 ? 624999 ? 2 ? 562499 ? 3 ? 531249 ? 4 ? 515624 ? 5 ? 507811 ? 6 ? 503905 ? 7 ? 501952 ? 8 ? 500975 ? 9 ? 500487 ? 10 ? 500243 ? 11 ? 500121 ? 12 ? 500060 ? 500090 ? 500075 ? 500082 ? 500078 ? 13 ? 500076 ! 500076
result:
ok Correct position at 500076
Test #33:
score: 0
Accepted
time: 3ms
memory: 3236kb
input:
999997 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 13 14 15 16 15 15
output:
? 1 ? 499999 ? 2 ? 249999 ? 374999 ? 437499 ? 468749 ? 484374 ? 492186 ? 496092 ? 498045 ? 499022 ? 499510 ? 499754 ? 499876 ? 499937 ? 499968 ? 499952 ? 499960 ? 499964 ? 499966 ? 499965 ! 499965
result:
ok Correct position at 499965
Test #34:
score: 0
Accepted
time: 4ms
memory: 3228kb
input:
1000000 1 2 3 4 5 6 7 6 7 8 7 8 9 10 11 10 11 10 9 8 8
output:
? 1 ? 500000 ? 750000 ? 875000 ? 937500 ? 968750 ? 984375 ? 992188 ? 988281 ? 990234 ? 991211 ? 990722 ? 990966 ? 991088 ? 991149 ? 991180 ? 991164 ? 991172 ? 991168 ? 991166 ? 991165 ! 991165
result:
ok Correct position at 991165
Test #35:
score: 0
Accepted
time: 1ms
memory: 3308kb
input:
999999 1 2 1 0 1 0 1 0 1 0 1 2 3 4 3 4 5 6 7 6 7 6 5 4 4
output:
? 1 ? 500000 ? 750000 ? 625000 ? 2 ? 562500 ? 3 ? 531250 ? 4 ? 515625 ? 5 ? 507812 ? 511718 ? 513671 ? 514648 ? 514159 ? 514403 ? 514525 ? 514586 ? 514617 ? 514601 ? 514609 ? 514605 ? 514603 ? 514602 ! 514602
result:
ok Correct position at 514602
Test #36:
score: 0
Accepted
time: 4ms
memory: 3276kb
input:
999998 1 2 1 0 1 0 1 0 1 0 1 2 3 4 3 4 5 6 7 6 7 6 5 4 4
output:
? 1 ? 499999 ? 749999 ? 624999 ? 2 ? 562499 ? 3 ? 531249 ? 4 ? 515624 ? 5 ? 507811 ? 511717 ? 513670 ? 514647 ? 514158 ? 514402 ? 514524 ? 514585 ? 514616 ? 514600 ? 514608 ? 514604 ? 514602 ? 514601 ! 514601
result:
ok Correct position at 514601
Test #37:
score: 0
Accepted
time: 3ms
memory: 3264kb
input:
999997 1 2 3 2 1 0 1 0 1 2 3 4 3 4 5 6 7 6 7 6 5 4 4
output:
? 1 ? 499999 ? 749998 ? 874998 ? 812498 ? 781248 ? 2 ? 765623 ? 3 ? 757810 ? 761716 ? 763669 ? 764646 ? 764157 ? 764401 ? 764523 ? 764584 ? 764615 ? 764599 ? 764607 ? 764603 ? 764601 ? 764600 ! 764600
result:
ok Correct position at 764600
Test #38:
score: 0
Accepted
time: 2ms
memory: 3236kb
input:
1000000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20
output:
? 1 ? 500000 ? 750000 ? 875000 ? 937500 ? 968750 ? 984375 ? 992188 ? 996094 ? 998047 ? 999024 ? 999512 ? 999756 ? 999878 ? 999939 ? 999970 ? 999985 ? 999993 ? 999997 ? 999999 ? 1000000 ! 1000000
result:
ok Correct position at 1000000
Test #39:
score: 0
Accepted
time: 4ms
memory: 3416kb
input:
999999 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20
output:
? 1 ? 500000 ? 750000 ? 875000 ? 937500 ? 968750 ? 984375 ? 992187 ? 996093 ? 998046 ? 999023 ? 999511 ? 999755 ? 999877 ? 999938 ? 999969 ? 999984 ? 999992 ? 999996 ? 999998 ? 999999 ! 999999
result:
ok Correct position at 999999
Test #40:
score: 0
Accepted
time: 3ms
memory: 3240kb
input:
999998 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20
output:
? 1 ? 499999 ? 749999 ? 874999 ? 937499 ? 968749 ? 984374 ? 992186 ? 996092 ? 998045 ? 999022 ? 999510 ? 999754 ? 999876 ? 999937 ? 999968 ? 999983 ? 999991 ? 999995 ? 999997 ? 999998 ! 999998
result:
ok Correct position at 999998
Test #41:
score: 0
Accepted
time: 0ms
memory: 3416kb
input:
999997 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20
output:
? 1 ? 499999 ? 749998 ? 874998 ? 937498 ? 968748 ? 984373 ? 992185 ? 996091 ? 998044 ? 999021 ? 999509 ? 999753 ? 999875 ? 999936 ? 999967 ? 999982 ? 999990 ? 999994 ? 999996 ? 999997 ! 999997
result:
ok Correct position at 999997
Test #42:
score: 0
Accepted
time: 3ms
memory: 3360kb
input:
1000000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20
output:
? 1 ? 500000 ? 750000 ? 875000 ? 937500 ? 968750 ? 984375 ? 992188 ? 996094 ? 998047 ? 999024 ? 999512 ? 999756 ? 999878 ? 999939 ? 999970 ? 999985 ? 999993 ? 999997 ? 999999 ? 1000000 ! 1000000
result:
ok Correct position at 1000000
Test #43:
score: 0
Accepted
time: 0ms
memory: 3460kb
input:
1000000 0
output:
? 1 ! 1
result:
ok Correct position at 1