結果
問題 | No.1765 While Shining |
ユーザー | 炭酸水 |
提出日時 | 2022-05-17 20:33:57 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 258 ms / 2,000 ms |
コード長 | 786 bytes |
コンパイル時間 | 247 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 15,468 KB |
最終ジャッジ日時 | 2024-09-15 15:52:59 |
合計ジャッジ時間 | 4,806 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
n = int(input()) a = list(map(int, input().split())) L = 0 while a[L] == 0 and L < n: L += 1 if L == n: print(0) else: R = L while L < n - 1: count = 0 while R < n - 1 and a[R] != a[R + 1]: R += 1 count += 1 if R == n - 1 and count >= 1: count -= 1 a[L] += count while L < R - 1: L += 1 count -= 1 if a[L] == 1: a[L] += count if L == R: L += 1 R = L elif a[R] == 0: while R < n - 1 and a[R] == 0: R += 1 L = R elif a[R] == 1: L = R a[n - 1] = 0 ans = 0 for i in a: ans += i print(ans)