結果
問題 | No.146 試験監督(1) |
ユーザー |
![]() |
提出日時 | 2015-02-08 23:45:47 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 338 ms / 1,000 ms |
コード長 | 3,251 bytes |
コンパイル時間 | 2,736 ms |
コンパイル使用メモリ | 85,300 KB |
実行使用メモリ | 48,576 KB |
最終ジャッジ日時 | 2024-06-23 07:55:43 |
合計ジャッジ時間 | 4,590 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 3 |
ソースコード
import java.util.Arrays;import java.util.Scanner;public class Main {MyScanner sc = new MyScanner();Scanner sc2 = new Scanner(System.in);final int MOD = 1000000007;int[] dx = { 1, 0, 0, -1 };int[] dy = { 0, 1, -1, 0 };void run() {int N = sc.nextInt();long cnt = 0;for (int i = 0; i < N; i++) {long c = sc.nextLong();long d = sc.nextLong();if (c % 2 == 0) {long tmp = c / 2;tmp %= MOD;d %= MOD;cnt += tmp * d;} else {long tmp = c / 2 + 1;tmp %= MOD;d %= MOD;cnt += tmp * d;}cnt %= MOD;}System.out.println(cnt);}public static void main(String[] args) {new Main().run();}void debug(Object... o) {System.out.println(Arrays.deepToString(o));}void debug2(int[][] array) {for (int i = 0; i < array.length; i++) {for (int j = 0; j < array[i].length; j++) {System.out.print(array[i][j]);}System.out.println();}}boolean inner(int h, int w, int limH, int limW) {return 0 <= h && h < limH && 0 <= w && w < limW;}void swap(int[] x, int a, int b) {int tmp = x[a];x[a] = x[b];x[b] = tmp;}// find minimum i (a[i] >= border)int lower_bound(int a[], int border) {int l = -1;int r = a.length;while (r - l > 1) {int mid = (l + r) / 2;if (border <= a[mid]) {r = mid;} else {l = mid;}}// r = l + 1return r;}boolean palindrome(String s) {for (int i = 0; i < s.length() / 2; i++) {if (s.charAt(i) != s.charAt(s.length() - 1 - i)) {return false;}}return true;}class MyScanner {int nextInt() {try {int c = System.in.read();while (c != '-' && (c < '0' || '9' < c))c = System.in.read();if (c == '-')return -nextInt();int res = 0;do {res *= 10;res += c - '0';c = System.in.read();} while ('0' <= c && c <= '9');return res;} catch (Exception e) {return -1;}}double nextDouble() {return Double.parseDouble(next());}long nextLong() {return Long.parseLong(next());}String next() {try {StringBuilder res = new StringBuilder("");int c = System.in.read();while (Character.isWhitespace(c))c = System.in.read();do {res.append((char) c);} while (!Character.isWhitespace(c = System.in.read()));return res.toString();} catch (Exception e) {return null;}}int[] nextIntArray(int n) {int[] in = new int[n];for (int i = 0; i < n; i++) {in[i] = nextInt();}return in;}int[][] nextInt2dArray(int n, int m) {int[][] in = new int[n][m];for (int i = 0; i < n; i++) {in[i] = nextIntArray(m);}return in;}double[] nextDoubleArray(int n) {double[] in = new double[n];for (int i = 0; i < n; i++) {in[i] = nextDouble();}return in;}long[] nextLongArray(int n) {long[] in = new long[n];for (int i = 0; i < n; i++) {in[i] = nextLong();}return in;}char[][] nextCharField(int n, int m) {char[][] in = new char[n][m];for (int i = 0; i < n; i++) {String s = sc.next();for (int j = 0; j < m; j++) {in[i][j] = s.charAt(j);}}return in;}}}