結果
| 問題 |
No.594 壊れた宝物発見機
|
| コンテスト | |
| ユーザー |
Kutimoti_T
|
| 提出日時 | 2018-06-04 19:55:30 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,535 bytes |
| コンパイル時間 | 1,460 ms |
| コンパイル使用メモリ | 161,292 KB |
| 実行使用メモリ | 25,616 KB |
| 平均クエリ数 | 199.00 |
| 最終ジャッジ日時 | 2024-07-16 15:51:07 |
| 合計ジャッジ時間 | 4,592 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 20 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
#define rep(i,s,e) for(int (i) = (s);(i) <= (e);(i)++)
int main(){
int X,Y,Z;
int x0 = -100;
int x3 = 100;
i64 f1 = 0;
i64 f2 = 0;
for(int i = 0;i < 33;i++){
int x1 = (x0 * 2 + x3 * 1) / (1 + 2);
int x2 = (x0 * 1 + x3 * 2) / (1 + 2);
cout << "? " << x1 << " " << 0 << " " << 0 << endl;
cin >> f1;
cout << "? " << x2 << " " << 0 << " " << 0 << endl;
cin >> f2;
if(f1 >= f2){
x0 = x1;
}
else{
x3 = x2;
}
}
if(f1 <= f2){
X = x3;
}
else{
X = x0;
}
x0 = -100;
x3 = 100;
for(int i = 0;i < 33;i++){
int x1 = (x0 * 2 + x3 * 1) / (1 + 2);
int x2 = (x0 * 1 + x3 * 2) / (1 + 2);
cout << "? " << 0 << " " << x1 << " " << 0 << endl;
i64 f1 = 0;
i64 f2 = 0;
cin >> f1;
cout << "? " << 0 << " " << x2 << " " << 0 << endl;
cin >> f2;
if(f1 >= f2){
x0 = x1;
}
else{
x3 = x2;
}
}
if(f1 <= f2){
Y = x3;
}
else{
Y = x0;
}
x0 = -100;
x3 = 100;
for(int i = 0;i < 33;i++){
int x1 = (x0 * 2 + x3 * 1) / (1 + 2);
int x2 = (x0 * 1 + x3 * 2) / (1 + 2);
cout << "? " << 0 << " " << 0 << " " << x1 << endl;
i64 f1 = 0;
i64 f2 = 0;
cin >> f1;
cout << "? " << 0 << " " << 0 << " " << x2 << endl;
cin >> f2;
if(f1 >= f2){
x0 = x1;
}
else{
x3 = x2;
}
}
if(f1 <= f2){
Z = x3;
}
else{
Z = x0;
}
cout << "! " << X << " " << Y << " " << Z << endl;
}
Kutimoti_T