結果
問題 | No.77 レンガのピラミッド |
ユーザー |
|
提出日時 | 2017-03-20 21:03:34 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 142 ms / 5,000 ms |
コード長 | 1,519 bytes |
コンパイル時間 | 2,110 ms |
コンパイル使用メモリ | 78,608 KB |
実行使用メモリ | 55,872 KB |
最終ジャッジ日時 | 2024-07-05 04:32:39 |
合計ジャッジ時間 | 6,453 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 20 |
ソースコード
import java.util.*; class Main { public static void main(String args[]) { try (Scanner sc = new Scanner(System.in)) { int N = sc.nextInt(); int[] A = new int[N]; int sum = 0; for (int i = 0; i < N; i++) { A[i] = sc.nextInt(); sum += A[i]; } int ans = 1 << 29; for (int i = 1; i * i <= sum; i++) { int count = 0; int stock = 0; for (int j = 0; j < N; j++) { int x; if (j >= i) { x = i * 2 - j - 1; } else { x = j + 1; } if (x <= 0) { x = 0; } count += Math.abs(A[j] - x); stock += A[j] - x; } ans = Math.min((count + stock) / 2, ans); } System.out.println(ans); } } }