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 |
|
|
|
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 |