結果
問題 | No.77 レンガのピラミッド |
ユーザー |
![]() |
提出日時 | 2018-07-03 19:10:35 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 900 bytes |
コンパイル時間 | 2,484 ms |
コンパイル使用メモリ | 77,504 KB |
実行使用メモリ | 56,216 KB |
最終ジャッジ日時 | 2024-07-01 01:59:23 |
合計ジャッジ時間 | 6,771 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 14 WA * 1 RE * 5 |
ソースコード
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int A[] = new int[101]; Arrays.fill(A, 0); // 1オリジン for(int i = 1; i <= N; i++) { A[i] = scan.nextInt(); } scan.close(); int sum = 0; for(int i = 1; i <= N; i++) { sum += A[i]; } int n = 1; int cost = 0; for(int i = 1; i < 100; i++) { if(sum == i * i) { n = i; break; }else if(sum < i * i) { n = i - 1; break; } } //cost = sum - n * n; cost = 0; for(int i = 1; i <= 2 * n - 1; i++) { if(i <= n) { if(A[i] >= i) { cost += i; }else { cost += A[i]; } }else { int t = 2 * n - i; if(A[i] >= t) { cost += t; }else { cost += A[i]; } } } int ans = sum - cost; System.out.println(ans); } }