結果
問題 |
No.1148 土偶Ⅲ
|
ユーザー |
![]() |
提出日時 | 2020-08-09 01:53:00 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 95 ms / 2,000 ms |
コード長 | 718 bytes |
コンパイル時間 | 282 ms |
コンパイル使用メモリ | 82,164 KB |
実行使用メモリ | 90,832 KB |
最終ジャッジ日時 | 2024-10-02 13:12:55 |
合計ジャッジ時間 | 3,501 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
import sys; input = sys.stdin.buffer.readline sys.setrecursionlimit(10**7) from collections import defaultdict con = 10 ** 9 + 7; INF = float("inf") def getlist(): return list(map(int, input().split())) #処理内容 def main(): N, W = getlist() A = [] D = defaultdict(int) for i in range(N): a = int(input()) A.append(a) i = 0; j = 0 val = 0 ans = 0 jud = 0 while True: if val > W or jud == 1: if i >= N: break D[A[i]] -= 1; val -= A[i] if D[A[i]] == 1: jud = 0 i += 1 else: if j >= N: break D[A[j]] += 1; val += A[j] if D[A[j]] == 2: jud = 1 else: if val <= W: ans = max(ans, j - i + 1) j += 1 print(ans) if __name__ == '__main__': main()