結果
| 問題 |
No.594 壊れた宝物発見機
|
| コンテスト | |
| ユーザー |
eve__fuyuki
|
| 提出日時 | 2024-11-01 12:31:10 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,281 bytes |
| コンパイル時間 | 2,053 ms |
| コンパイル使用メモリ | 193,456 KB |
| 最終ジャッジ日時 | 2025-02-25 01:59:37 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 20 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
void fast_io() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
}
int query(int x, int y, int z) {
cout << x << " " << y << " " << z << endl;
int res;
cin >> res;
return res;
}
void answer(int x, int y, int z) { cout << x << " " << y << " " << z << endl; }
int main() {
fast_io();
int a[3] = {0, 0, 0};
for (int i = 0; i < 3; i++) {
int lo = -100, hi = 100;
int lo_a[3] = {a[0], a[1], a[2]};
int hi_a[3] = {a[0], a[1], a[2]};
lo_a[i] = lo, hi_a[i] = hi;
int lo_d = query(lo_a[0], lo_a[1], lo_a[2]),
hi_d = query(hi_a[0], hi_a[1], hi_a[2]);
while (lo + 2 < hi) {
int m1 = lo + (hi - lo) / 3;
int m2 = hi - (hi - lo) / 3;
int m1_a[3] = {a[0], a[1], a[2]};
int m2_a[3] = {a[0], a[1], a[2]};
m1_a[i] = m1, m2_a[i] = m2;
int m1_d = query(m1_a[0], m1_a[1], m1_a[2]),
m2_d = query(m2_a[0], m2_a[1], m2_a[2]);
if (m1_d < m2_d) {
hi = m2;
hi_d = m2_d;
} else {
lo = m1;
lo_d = m1_d;
}
}
a[i] = lo;
}
answer(a[0], a[1], a[2]);
}
eve__fuyuki