# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
959504 |
2024-04-08T10:34:42 Z |
idas |
Worm Worries (BOI18_worm) |
C++11 |
|
1 ms |
356 KB |
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
int n, m, k, maxq;
cin >> n >> m >> k >> maxq;
// m, k should be 1
int lo = 1, hi = n+1;
// we want local maximum somewhere in [lo, hi)
while(lo+1 < hi){
int mi = (lo + hi) / 2;
int r1, r2;
cout << "? " << mi-1 << " 1 1" << endl;
cin >> r1;
if (r1 == -1) exit(0);
cout << "? " << mi << " 1 1" << endl;
cin >> r2;
if (r2 == -1) exit(0);
if(r1 >= r2) hi = mi;
else lo = mi;
}
cout << "! " << lo << " 1 1" << endl;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
344 KB |
Output is correct |
3 |
Correct |
0 ms |
344 KB |
Output is correct |
4 |
Correct |
0 ms |
344 KB |
Output is correct |
5 |
Correct |
1 ms |
344 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
352 KB |
too many queries. input: ? 499997 1 1 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
356 KB |
Output is correct |
2 |
Incorrect |
0 ms |
344 KB |
not a local maximum |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
344 KB |
Output is correct |
3 |
Correct |
0 ms |
344 KB |
Output is correct |
4 |
Incorrect |
1 ms |
344 KB |
not a local maximum |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Incorrect |
0 ms |
344 KB |
not a local maximum |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
344 KB |
Output is correct |
2 |
Incorrect |
1 ms |
344 KB |
not a local maximum |
3 |
Halted |
0 ms |
0 KB |
- |