Submission #1260025

#TimeUsernameProblemLanguageResultExecution timeMemory
1260025SzymonKrzywdaWorm Worries (BOI18_worm)C++20
10 / 100
1 ms436 KiB
#include <iostream> #include <map> using namespace std; map<int, int> queries; int ask(int x, int y = 1, int z = 1) { if (queries.find(x) != queries.end()) return queries[x]; cout << "? " << x << ' ' << y << ' ' << z << endl; cin >> queries[x]; return queries[x]; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int q, n, m, k; cin >> n >> m >> k >> q; int left = 1, right = n; while (left < right) { //int mid1 = left + (right - left) / (1 + 1.61803399); //int mid2 = right - (right - left) / (1 + 1.61803399); int mid1 = (left + right) / 2; int mid2 = mid1 + 1; if (mid2 > n) mid2 = mid1 - 1; int val1 = ask(mid1); int val2 = ask(mid2); if (val1 <= val2) left = mid1 + 1; else right = mid2 - 1; } cout << "! " << left << ' ' << 1 << ' ' << 1 << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...