Submission #347169


Source Code Expand

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.IO;

class Myon
{
    public Myon() { }
    public static int Main()
    {
        new Myon().calc();
        return 0;
    }

    Scanner cin;
    void calc()
    {
        cin = new Scanner();
        int N = cin.nextInt();
        int best = 0;
        int bestdist = 0;
        for (int i = 1; i < N; i++)
        {
            int dist = check(0, i);
            if (dist > bestdist)
            {
                bestdist = dist;
                best = i;
            }
        }

        int ret = 0;
        for (int i = 0; i < N; i++)
        {
            if (best == i) continue;
            ret = Math.Max(ret, check(i, best));
        }
        Console.WriteLine("! {0}", ret);
    }

    int check(int a, int b)
    {
        a++; b++;
        Console.WriteLine("? {0} {1}", a, b);
        return cin.nextInt();
    }

}




class Scanner
{
    string[] s;
    int i;

    char[] cs = new char[] { ' ' };

    public Scanner()
    {
        s = new string[0];
        i = 0;
    }

    public string next()
    {
        if (i < s.Length) return s[i++];
        string st = Console.ReadLine();
        while (st == "") st = Console.ReadLine();
        s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries);
        i = 0;
        return s[i++];
    }

    public int nextInt()
    {
        return int.Parse(next());
    }

    public long nextLong()
    {
        return long.Parse(next());
    }

    public double nextDouble()
    {
        return double.Parse(next());
    }

}


class XRand
{
    uint x, y, z, w;


    public XRand()
    {
        init();
    }

    public XRand(uint s)
    {
        init();
        init_xor128(s);
    }

    void init()
    {
        x = 314159265; y = 358979323; z = 846264338; w = 327950288;

    }

    public void init_xor128(uint s)
    {
        z ^= s;
        z ^= z >> 21; z ^= z << 35; z ^= z >> 4;
        z *= 736338717;
    }

    uint next()
    {
        uint t = x ^ x << 11; x = y; y = z; z = w; return w = w ^ w >> 19 ^ t ^ t >> 8;
    }

    public long nextLong(long m)
    {
        return (long)((((ulong)next() << 32) + next()) % (ulong)m);
    }

    public int nextInt(int m)
    {
        return (int)(next() % m);
    }

    public long nextLong(long min, long max)
    {
        return min + nextLong(max - min + 1);
    }

    public int nextInt(int min, int max)
    {
        return min + nextInt(max - min + 1);
    }

    public int nextIntP(int a)
    {
        return (int)Math.Pow(a, nextDouble());
    }

    public int nextIntP(int min, int max)
    {
        int diff = max - min;
        return min + nextIntP(diff + 2) - 1;
    }

    public long nextLongP(long a)
    {
        return (long)Math.Pow(a, nextDouble());
    }

    public long nextLongP(long min, long max)
    {
        long diff = max - min;
        return min + nextLongP(diff + 2) - 1;
    }


    public double nextDouble()
    {
        return (double)next() / uint.MaxValue;
    }

    public double nextDoubleP(double a)
    {
        return Math.Pow(a, nextDouble());
    }
}

Submission Info

Submission Time
Task D - 高橋くんと木の直径
User chokudai
Language C# (Mono 2.10.8.1)
Score 100
Code Size 3337 Byte
Status AC
Exec Time 173 ms
Memory 8196 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 161 ms 8136 KB
subtask1_0.txt AC 161 ms 8148 KB
subtask1_1.txt AC 162 ms 8128 KB
subtask1_10.txt AC 163 ms 8068 KB
subtask1_11.txt AC 161 ms 8136 KB
subtask1_12.txt AC 156 ms 8156 KB
subtask1_13.txt AC 163 ms 8092 KB
subtask1_14.txt AC 159 ms 8160 KB
subtask1_15.txt AC 162 ms 8180 KB
subtask1_16.txt AC 162 ms 8140 KB
subtask1_17.txt AC 161 ms 8180 KB
subtask1_18.txt AC 161 ms 8084 KB
subtask1_19.txt AC 161 ms 8196 KB
subtask1_2.txt AC 164 ms 8052 KB
subtask1_20.txt AC 158 ms 8008 KB
subtask1_3.txt AC 160 ms 8128 KB
subtask1_4.txt AC 157 ms 8156 KB
subtask1_5.txt AC 159 ms 8136 KB
subtask1_6.txt AC 159 ms 8136 KB
subtask1_7.txt AC 159 ms 8124 KB
subtask1_8.txt AC 160 ms 8104 KB
subtask1_9.txt AC 161 ms 8112 KB
subtask2_0.txt AC 164 ms 8116 KB
subtask2_1.txt AC 157 ms 8124 KB
subtask2_10.txt AC 165 ms 8120 KB
subtask2_11.txt AC 168 ms 8128 KB
subtask2_12.txt AC 160 ms 8124 KB
subtask2_13.txt AC 159 ms 8144 KB
subtask2_14.txt AC 160 ms 8132 KB
subtask2_15.txt AC 164 ms 8128 KB
subtask2_16.txt AC 173 ms 8052 KB
subtask2_17.txt AC 162 ms 8148 KB
subtask2_18.txt AC 162 ms 8148 KB
subtask2_19.txt AC 165 ms 8120 KB
subtask2_2.txt AC 163 ms 8176 KB
subtask2_3.txt AC 159 ms 8124 KB
subtask2_4.txt AC 166 ms 8156 KB
subtask2_5.txt AC 166 ms 8096 KB
subtask2_6.txt AC 164 ms 8120 KB
subtask2_7.txt AC 162 ms 8188 KB
subtask2_8.txt AC 164 ms 8132 KB
subtask2_9.txt AC 164 ms 8148 KB