#include <iostream>
#include <vector>
std::vector<int> moist(1111000, -1);
int Wetness(int n) {
if (moist[n] == -1) {
std::cout << "? " << n+1 << " 1 1" << std::endl;
std::cin >> moist[n];
}
return moist[n];
}
int main() {
int n, m, k, q;
std::cin >> n >> m >> k >> q;
int l = 0;
int r = n;
int c = (l+r)/2;
while (l < r-1) {
if (c > 0) {
if (Wetness(c) < Wetness(c-1)) {
r = c;
c = (l+r)/2;
continue;
}
}
if (c < n-1) {
if (Wetness(c) < Wetness(c+1)) {
l = c+1;
c = (l+r)/2;
continue;
}
}
break;
}
std::cout << "! " << c+1 << " 1 1";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |