Submission #996582

#TimeUsernameProblemLanguageResultExecution timeMemory
996582MilosMilutinovicTreasure (different grader from official contest) (CEOI13_treasure2)C++14
0 / 100
171 ms262144 KiB
#include "treasure.h" #include <bits/stdc++.h> using namespace std; vector<pair<int, int>> sol; void solve(int xl, int xr, int yl, int yr, int total) { if (xl == xr && yl == yr) { sol.emplace_back(xl, yl); return; } int lx = xr - xl, ly = yr - yl; if (lx < ly) { int mid = (xl + xr) / 2; int t = countTreasure(xl, yl, mid, yr); if (t != 0) { solve(xl, mid, yl, yr, t); } if (t != total) { solve(mid + 1, xr, yl, yr, total - t); } } else { int mid = (yl + yr) / 2; int t = countTreasure(xl, yl, xr, mid); if (t != 0) { solve(xl, xr, yl, mid, t); } if (t != total) { solve(xl, xr, mid + 1, yr, total - t); } } } void findTreasure(int N) { sol.clear(); int cnt = countTreasure(1, 1, N, N); solve(1, N, 1, N, cnt); for (auto& p : sol) { Report(p.first, p.second); } }
#Verdict Execution timeMemoryGrader output
Fetching results...