Submission #345660


Source Code Expand

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Set;
import java.util.StringTokenizer;
 
public class Main {
	
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        
        final int N = sc.nextInt();
        
        int far_node = -1;
        int far_far_node = -1;
        
        final int start = 1;
        int max_dist = -1;
        for(int next = 2; next <= N; next++){
        	System.out.println("? " + start + " " + next);
        	final int dist = sc.nextInt();
        	
        	if(max_dist < dist){
        		max_dist = dist;
        		far_node = next;
        	}
        }
        
        int max_max_dist = -1;
        for(int next = 1; next <= N; next++){
        	if(far_node == next){ continue; }
        	
        	System.out.println("? " + far_node + " " + next);
        	final int dist = sc.nextInt();
        	
        	if(max_max_dist < dist){
        		max_max_dist = dist;
        	}
        }
        
        System.out.println("! " + max_max_dist);
    }
 
    public static class Scanner {
        private BufferedReader br;
        private StringTokenizer tok;
 
        public Scanner(InputStream is) throws IOException {
            br = new BufferedReader(new InputStreamReader(is));
        }
 
        private void getLine() throws IOException {
            while (!hasNext()) {
                tok = new StringTokenizer(br.readLine());
            }
        }
 
        private boolean hasNext() {
            return tok != null && tok.hasMoreTokens();
        }
 
        public String next() throws IOException {
            getLine();
            return tok.nextToken();
        }
 
        public int nextInt() throws IOException {
            return Integer.parseInt(next());
        }
 
        public long nextLong() throws IOException {
            return Long.parseLong(next());
        }
 
        public void close() throws IOException {
            br.close();
        }
    }
 
}

Submission Info

Submission Time
Task D - 高橋くんと木の直径
User mondatto
Language Java (OpenJDK 1.7.0)
Score 100
Code Size 2392 Byte
Status AC
Exec Time 327 ms
Memory 20972 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 20 / 20 80 / 80
Status
AC × 1
AC × 22
AC × 42
Set Name Test Cases
Sample subtask0_0.txt
Subtask1 subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_2.txt, subtask1_20.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt, subtask0_0.txt
All subtask0_0.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_2.txt, subtask1_20.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt, subtask2_0.txt, subtask2_1.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_2.txt, subtask2_3.txt, subtask2_4.txt, subtask2_5.txt, subtask2_6.txt, subtask2_7.txt, subtask2_8.txt, subtask2_9.txt
Case Name Status Exec Time Memory
subtask0_0.txt AC 297 ms 20968 KB
subtask1_0.txt AC 299 ms 20960 KB
subtask1_1.txt AC 298 ms 20836 KB
subtask1_10.txt AC 297 ms 20908 KB
subtask1_11.txt AC 298 ms 20860 KB
subtask1_12.txt AC 302 ms 20848 KB
subtask1_13.txt AC 299 ms 20880 KB
subtask1_14.txt AC 298 ms 20876 KB
subtask1_15.txt AC 300 ms 20876 KB
subtask1_16.txt AC 293 ms 20852 KB
subtask1_17.txt AC 300 ms 20872 KB
subtask1_18.txt AC 301 ms 20888 KB
subtask1_19.txt AC 309 ms 20860 KB
subtask1_2.txt AC 327 ms 20848 KB
subtask1_20.txt AC 291 ms 20828 KB
subtask1_3.txt AC 297 ms 20852 KB
subtask1_4.txt AC 295 ms 20868 KB
subtask1_5.txt AC 299 ms 20888 KB
subtask1_6.txt AC 299 ms 20908 KB
subtask1_7.txt AC 299 ms 20920 KB
subtask1_8.txt AC 299 ms 20948 KB
subtask1_9.txt AC 309 ms 20872 KB
subtask2_0.txt AC 314 ms 20848 KB
subtask2_1.txt AC 311 ms 20884 KB
subtask2_10.txt AC 301 ms 20884 KB
subtask2_11.txt AC 302 ms 20972 KB
subtask2_12.txt AC 302 ms 20948 KB
subtask2_13.txt AC 300 ms 20876 KB
subtask2_14.txt AC 300 ms 20904 KB
subtask2_15.txt AC 302 ms 20932 KB
subtask2_16.txt AC 309 ms 20964 KB
subtask2_17.txt AC 320 ms 20956 KB
subtask2_18.txt AC 312 ms 20832 KB
subtask2_19.txt AC 323 ms 20844 KB
subtask2_2.txt AC 320 ms 20864 KB
subtask2_3.txt AC 298 ms 20944 KB
subtask2_4.txt AC 294 ms 20900 KB
subtask2_5.txt AC 298 ms 20908 KB
subtask2_6.txt AC 295 ms 20920 KB
subtask2_7.txt AC 298 ms 20944 KB
subtask2_8.txt AC 296 ms 20892 KB
subtask2_9.txt AC 296 ms 20824 KB