Submission #89344

#TimeUsernameProblemLanguageResultExecution timeMemory
89344jasony123123Poklon (COCI17_poklon7)Java
84 / 120
1159 ms177980 KiB
import java.util.*; import java.io.*; import java.math.*; class poklon { static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer token; static int N; static int[][] C; static BigInteger two = new BigInteger("2"); public static void main(String[] args) throws IOException { nextLn(); N = nextInt(); C = new int[N+1][2]; for(int i = 1; i<=N; i++) { nextLn(); C[i][0] = nextInt(); C[i][1] = nextInt(); } BigInteger ans = dfs(1); System.out.println(ans.toString(2)); // System.out.println(ans); } public static BigInteger dfs(int x) { if(x<0) { return new BigInteger(Integer.toString(-x)); } BigInteger l = dfs(C[x][0]), r = dfs(C[x][1]); BigInteger ans; if(l.compareTo(r)>0) ans = l; else ans = r; return ans.multiply(two); } //nextLn moves the token to the nextLine public static void nextLn() throws IOException { token = new StringTokenizer(reader.readLine()); } //nextInt returns the next available integer public static int nextInt() { return Integer.parseInt(token.nextToken()); } //nextDouble returns the next available integer public static double nextDouble() { return Double.parseDouble(token.nextToken()); } //next returns the next word separated by spaces public static String next() { return token.nextToken(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...