結果
| 問題 | 
                            No.865 24時間降水量
                             | 
                    
| コンテスト | |
| ユーザー | 
                             manini
                         | 
                    
| 提出日時 | 2021-01-26 14:40:56 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 342 ms / 2,000 ms | 
| コード長 | 706 bytes | 
| コンパイル時間 | 597 ms | 
| コンパイル使用メモリ | 82,692 KB | 
| 実行使用メモリ | 106,028 KB | 
| 最終ジャッジ日時 | 2024-06-23 14:20:25 | 
| 合計ジャッジ時間 | 4,026 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 18 | 
ソースコード
# coding:UTF-8
import sys
MOD = 10 ** 9 + 7
INF = float('inf')
N = int(input())    # 数字
A = list(map(int, input().split()))     # スペース区切り連続数字
Q = int(input())    # 数字
TV = [list(map(int, input().split())) for _ in range(Q)]     # スペース区切り連続数字(行列)
res = sum(A[0:24])
Asum = [0] * (N-23)
Asum[0] = res
for i in range(1, N-23):
    Asum[i] = Asum[i-1] - A[i-1] + A[i+23]
    res = max(res, Asum[i])
for j in range(Q):
    t = TV[j][0] - 1
    v = TV[j][1]
    dif = v - A[t]
    A[t] = v
    ts = max(t - 23, 0)
    te = min(t, N - 24)
    for i in range(ts, te+1):
        Asum[i] += dif
        res = max(res, Asum[i])
    print("{}".format(res))
            
            
            
        
            
manini