結果
問題 |
No.3161 Find Presents
|
ユーザー |
|
提出日時 | 2025-05-23 20:50:18 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,019 bytes |
コンパイル時間 | 2,264 ms |
コンパイル使用メモリ | 195,888 KB |
実行使用メモリ | 26,284 KB |
平均クエリ数 | 2101.96 |
最終ジャッジ日時 | 2025-05-23 20:50:32 |
合計ジャッジ時間 | 13,079 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 80 |
コンパイルメッセージ
main.cpp: In function ‘void solve()’: main.cpp:46:18: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘std::vector<std::pair<int, int> >::size_type’ {aka ‘long unsigned int’} [-Wformat=] 46 | printf("%d\n", ans.size()); | ~^ ~~~~~~~~~~ | | | | int std::vector<std::pair<int, int> >::size_type {aka long unsigned int} | %ld main.cpp: In function ‘int ask(int, int, int, int)’: main.cpp:14:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 14 | scanf("%d", &x1); | ~~~~~^~~~~~~~~~~
ソースコード
#include <bits/stdc++.h> using namespace std; typedef pair<int, int> pii; typedef long long ll; const int N = 2000086, MOD = 998244353, INF = 0x3f3f3f3f; ll res; int n, m, cnt, w[N], ed = 1000000; int ask(int x1, int x2, int y1, int y2) { printf("? %d %d %d %d\n", x1, x2, y1, y2); fflush(stdout); scanf("%d", &x1); return x1; } vector<pii> ans; void solve() { int pre = 0; while (pre <= ed && ask(pre, ed, 0, ed)) { int l = pre, r = ed; while (l < r) { int mid = l + r >> 1; if (ask(pre, mid, 0, ed)) r = mid; else l = mid + 1; } { int x = l, pre = 0; while (pre <= ed && ask(x, x, pre, ed)) { int l = pre, r = ed; while (l < r) { int mid = l + r >> 1; if (ask(x, x, pre, mid)) r = mid; else l = mid + 1; } ans.push_back({x, l}); pre = l + 1; } } pre = l + 1; } ask(0, ed, 0, ed); printf("%d\n", ans.size()); fflush(stdout); for (auto u : ans) printf("%d %d\n", u.first, u.second), fflush(stdout); } int main() { solve(); return 0; }