結果
問題 | No.594 壊れた宝物発見機 |
ユーザー |
![]() |
提出日時 | 2017-11-10 22:42:26 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 323 ms / 2,000 ms |
コード長 | 1,573 bytes |
コンパイル時間 | 2,501 ms |
コンパイル使用メモリ | 79,076 KB |
実行使用メモリ | 72,380 KB |
平均クエリ数 | 157.00 |
最終ジャッジ日時 | 2024-07-16 14:27:00 |
合計ジャッジ時間 | 10,191 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
import java.util.*;class Main {static Scanner sc;static final long I = 1L<<43;static long q(int x,int y,int z){System.out.println("? "+x+" "+y+" "+z);return sc.nextInt();}public static void main(String[] args) {sc = new Scanner(System.in);int x,y,z;long md=I;int mi=0;for(int i=-150;i<=150;i+=10){long d=q(i,0,0);if(md>d){md=d;mi=i;}}x=mi;for(int i=Math.max(x-10,-150);i<=Math.min(x+10,150);++i){long d=q(i,0,0);if(md>d){md=d;mi=i;}}x=mi;md=I;mi=0;for(int i=-150;i<=150;i+=10){long d=q(x,i,0);if(md>d){md=d;mi=i;}}y=mi;for(int i=Math.max(y-10,-150);i<=Math.min(y+10,150);++i){long d=q(x,i,0);if(md>d){md=d;mi=i;}}y=mi;md=I;mi=0;for(int i=-150;i<=150;i+=10){long d=q(x,y,i);if(md>d){md=d;mi=i;}}z=mi;for(int i=Math.max(z-10,-150);i<=Math.min(z+10,150);++i){long d=q(x,y,i);if(md>d){md=d;mi=i;}}z=mi;System.out.println("! "+x+" "+y+" "+z);}}