Submission #5419506
Source Code Expand
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.util.AbstractMap; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.Stack; import java.util.TreeMap; public class Main { public static void main(String[] args) { InputStream inputStream = System.in; OutputStream outputStream = System.out; MyInput in = new MyInput(inputStream); PrintWriter out = new PrintWriter(outputStream); Solver solver = new Solver(); solver.solve(1, in, out); out.close(); } // ====================================================================== static class Solver { public void solve(int testNumber, MyInput in, PrintWriter out) { int N = in.nextInt(); int[] A = new int[N]; int[] B = new int[N]; for(int i = 0; i < N; i++) { A[i] = in.nextInt(); B[i] = in.nextInt(); } long ans = 0; for(int i = N-1; i >= 0; i--) { if((ans + A[i]) % B[i] == 0) continue; ans += ((ans + A[i]) / B[i]) * B[i] + B[i] - (ans + A[i]); } out.println(ans); } } // ====================================================================== static class Pair<K, V> extends AbstractMap.SimpleEntry<K, V> { /** serialVersionUID. */ private static final long serialVersionUID = 6411527075103472113L; public Pair(final K key, final V value) { super(key, value); } public String getString() { return "[" + getKey() + "] [" + getValue() + "]"; } } static class MyInput { private final BufferedReader in; private static int pos; private static int readLen; private static final char[] buffer = new char[1024 * 8]; private static char[] str = new char[500 * 8 * 2]; private static boolean[] isDigit = new boolean[256]; private static boolean[] isSpace = new boolean[256]; private static boolean[] isLineSep = new boolean[256]; static { for (int i = 0; i < 10; i++) { isDigit['0' + i] = true; } isDigit['-'] = true; isSpace[' '] = isSpace['\r'] = isSpace['\n'] = isSpace['\t'] = true; isLineSep['\r'] = isLineSep['\n'] = true; } public MyInput(InputStream is) { in = new BufferedReader(new InputStreamReader(is)); } public int read() { if (pos >= readLen) { pos = 0; try { readLen = in.read(buffer); } catch (IOException e) { throw new RuntimeException(); } if (readLen <= 0) { throw new MyInput.EndOfFileRuntimeException(); } } return buffer[pos++]; } public int nextInt() { int len = 0; str[len++] = nextChar(); len = reads(len, isSpace); int i = 0; int ret = 0; if (str[0] == '-') { i = 1; } for (; i < len; i++) ret = ret * 10 + str[i] - '0'; if (str[0] == '-') { ret = -ret; } return ret; } public long nextLong() { int len = 0; str[len++] = nextChar(); len = reads(len, isSpace); int i = 0; long ret = 0L; if (str[0] == '-') { i = 1; } for (; i < len; i++) ret = ret * 10 + str[i] - '0'; if (str[0] == '-') { ret = -ret; } return ret; } public String nextString() { String ret = new String(nextDChar()).trim(); return ret; } public char[] nextDChar() { int len = 0; len = reads(len, isSpace); char[] ret = new char[len + 1]; for (int i=0; i < len; i++) ret[i] = str[i]; ret[len] = 0x00; return ret; } public char nextChar() { while (true) { final int c = read(); if (!isSpace[c]) { return (char) c; } } } int reads(int len, boolean[] accept) { try { while (true) { final int c = read(); if (accept[c]) { break; } if (str.length == len) { char[] rep = new char[str.length * 3 / 2]; System.arraycopy(str, 0, rep, 0, str.length); str = rep; } str[len++] = (char) c; } } catch (MyInput.EndOfFileRuntimeException e) { } return len; } static class EndOfFileRuntimeException extends RuntimeException { } } }
Submission Info
Submission Time | |
---|---|
Task | A - Multiple Array |
User | k_6101 |
Language | Java8 (OpenJDK 1.8.0) |
Score | 300 |
Code Size | 5532 Byte |
Status | AC |
Exec Time | 147 ms |
Memory | 26068 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, s1.txt, s2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 145 ms | 23124 KB |
02.txt | AC | 132 ms | 21716 KB |
03.txt | AC | 129 ms | 23508 KB |
04.txt | AC | 137 ms | 20040 KB |
05.txt | AC | 130 ms | 22344 KB |
06.txt | AC | 133 ms | 20040 KB |
07.txt | AC | 122 ms | 24148 KB |
08.txt | AC | 147 ms | 22484 KB |
09.txt | AC | 132 ms | 22356 KB |
10.txt | AC | 129 ms | 26068 KB |
11.txt | AC | 123 ms | 23380 KB |
12.txt | AC | 115 ms | 23252 KB |
13.txt | AC | 132 ms | 21588 KB |
14.txt | AC | 134 ms | 24276 KB |
15.txt | AC | 71 ms | 17876 KB |
16.txt | AC | 72 ms | 20308 KB |
s1.txt | AC | 71 ms | 16596 KB |
s2.txt | AC | 71 ms | 19156 KB |