結果
問題 |
No.3161 Find Presents
|
ユーザー |
|
提出日時 | 2025-05-23 20:44:37 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 981 bytes |
コンパイル時間 | 1,994 ms |
コンパイル使用メモリ | 198,136 KB |
実行使用メモリ | 41,728 KB |
最終ジャッジ日時 | 2025-05-23 20:44:56 |
合計ジャッジ時間 | 12,525 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 1 -- * 79 |
コンパイルメッセージ
main.cpp: In function ‘void solve()’: main.cpp:45: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=] 45 | 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", 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; } printf("%d\n", ans.size()); for (auto u : ans) printf("%d %d\n", u.first, u.second); fflush(stdout); } int main() { solve(); return 0; }