結果
問題 |
No.77 レンガのピラミッド
|
ユーザー |
![]() |
提出日時 | 2018-07-03 19:14:00 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 920 bytes |
コンパイル時間 | 2,251 ms |
コンパイル使用メモリ | 77,096 KB |
実行使用メモリ | 54,192 KB |
最終ジャッジ日時 | 2024-07-01 02:00:04 |
合計ジャッジ時間 | 6,519 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 WA * 1 |
other | AC * 20 |
ソースコード
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 < 1000; i++) { if(sum == i * i) { n = i; break; }else if(sum < i * i) { n = i - 1; break; } } //cost = sum - n * n; cost = 0; // System.out.println(n); for(int i = 1; i <= N; 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); } }