Download docker_space/frontier_cs_4/examples/gpt5.2_4.cpp from JustinTX/shinka-backup: direct link, hf CLI and curl.
- Browser
- Download file 1.59 kB
-
https://huggingface.co/JustinTX/shinka-backup/resolve/main/docker_space/frontier_cs_4/examples/gpt5.2_4.cpp
- Command line
-
hf download hf://JustinTX/shinka-backup/docker_space/frontier_cs_4/examples/gpt5.2_4.cpp
-
curl -L -o gpt5.2_4.cpp https://huggingface.co/JustinTX/shinka-backup/resolve/main/docker_space/frontier_cs_4/examples/gpt5.2_4.cpp
1.59 kB
| using namespace std; | |
| struct Node { | |
| long long v; | |
| int r, c; | |
| }; | |
| struct Cmp { | |
| bool operator()(const Node& a, const Node& b) const { | |
| return a.v > b.v; | |
| } | |
| }; | |
| static const int QUERY_LIMIT = 50000; | |
| int main() { | |
| ios::sync_with_stdio(false); | |
| cin.tie(nullptr); | |
| int n; | |
| long long k; | |
| if (!(cin >> n >> k)) return 0; | |
| long long used = 0; | |
| auto query = [&](int x, int y) -> long long { | |
| if (used >= QUERY_LIMIT) { | |
| // Cannot query further; return dummy. | |
| return (long long)4e18; | |
| } | |
| cout << "QUERY " << x << " " << y << "\n" << flush; | |
| long long v; | |
| if (!(cin >> v)) exit(0); | |
| ++used; | |
| return v; | |
| }; | |
| auto done = [&](long long ans) { | |
| cout << "DONE " << ans << "\n" << flush; | |
| double score; | |
| cin >> score; | |
| exit(0); | |
| }; | |
| if (n <= 0 || k <= 0) done(0); | |
| long long nn = 1LL * n * n; | |
| if (k > nn) k = nn; | |
| priority_queue<Node, vector<Node>, Cmp> pq; | |
| for (int c = 1; c <= n; ++c) { | |
| long long v = query(1, c); | |
| pq.push({v, 1, c}); | |
| } | |
| long long ans = pq.top().v; | |
| for (long long t = 1; t <= k; ++t) { | |
| if (pq.empty()) break; | |
| Node cur = pq.top(); | |
| pq.pop(); | |
| ans = cur.v; | |
| if (t == k) break; | |
| if (cur.r < n) { | |
| if (used >= QUERY_LIMIT) { | |
| done(ans); | |
| } | |
| long long nv = query(cur.r + 1, cur.c); | |
| pq.push({nv, cur.r + 1, cur.c}); | |
| } | |
| } | |
| done(ans); | |
| return 0; | |
| } |