結果
問題 | No.2962 Sum Bomb Bomber |
ユーザー |
![]() |
提出日時 | 2024-11-18 12:00:42 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 966 bytes |
コンパイル時間 | 7,504 ms |
コンパイル使用メモリ | 262,112 KB |
最終ジャッジ日時 | 2025-02-25 05:24:25 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | TLE * 1 |
other | -- * 64 |
ソースコード
#include <bits/stdc++.h>using namespace std;using ll = long long;int main(){cin.tie(nullptr);ios_base::sync_with_stdio(false);/*凹関数なので三分探索*/ll N, ansx, cnt;cin >> N;map<pair<ll, ll>, ll> mp;auto f=[&](ll x, ll y){ll res;if (mp.count({x, y})) return mp[{x, y}];cout << 1 << " " << x << " " << y << endl;cin >> res;cnt++;assert(cnt <= 300);return mp[{x, y}] = res;};//X方向ll l=-1e8, r=1e8+1, cl, cr;while(r-l>1){assert(l<r);cl = (l*2+r)/3; cr = (l+r*2)/3;if (f(cl, 0) > f(cr, 0)) l = cl;else r = cr;}ansx = l;//Y方向l=-1e8; r=1e8+1;while(r-l>1){assert(l<r);cl = (l*2+r)/3; cr = (l+r*2)/3;if (f(0, cl) > f(0, cr)) l = cl;else r = cr;}cout << 2 << " " << ansx << " " << l << endl;return 0;}