結果
| 問題 |
No.2962 Sum Bomb Bomber
|
| コンテスト | |
| ユーザー |
rieaaddlreiuu
|
| 提出日時 | 2024-12-04 01:29:20 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 110 ms / 2,000 ms |
| コード長 | 894 bytes |
| コンパイル時間 | 1,484 ms |
| コンパイル使用メモリ | 167,752 KB |
| 実行使用メモリ | 25,208 KB |
| 平均クエリ数 | 97.09 |
| 最終ジャッジ日時 | 2024-12-04 01:29:33 |
| 合計ジャッジ時間 | 10,207 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 64 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
long long d(long long x,long long y){
long long result;
cout << "1 " << x << " " << y << endl;
cin >> result;
return result;
}
int main(){
long long min_x,min_y;
long long N;
long long d_1,d_2,d_3;
cin >> N;
long long left = -200000000,right = 200000000;
long long mid = 0;
while(1){
mid = (left+right)/2;
d_1 = d(mid-1,0);
d_2 = d(mid,0);
d_3 = d(mid+1,0);
if(d_1 < d_2){
right = mid + 1;
}
if(d_2 > d_3){
left = mid - 1;
}
if(d_1 >= d_2 && d_2 <= d_3){
break;
}
}
min_x = mid;
left = -200000000,right = 200000000;
while(1){
mid = (left+right)/2;
d_1 = d(0,mid-1);
d_2 = d(0,mid);
d_3 = d(0,mid+1);
if(d_1 < d_2){
right = mid + 1;
}
if(d_2 > d_3){
left = mid - 1;
}
if(d_1 >= d_2 && d_2 <= d_3){
break;
}
}
min_y = mid;
cout << "2 " << min_x << " " << min_y << endl;
}
rieaaddlreiuu