結果
問題 |
No.973 余興
|
ユーザー |
![]() |
提出日時 | 2020-01-17 23:39:42 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,139 bytes |
コンパイル時間 | 210 ms |
コンパイル使用メモリ | 82,036 KB |
実行使用メモリ | 273,200 KB |
最終ジャッジ日時 | 2024-06-26 01:36:31 |
合計ジャッジ時間 | 22,718 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 37 WA * 17 |
ソースコード
# coding: utf-8 # Your code here! import sys sys.setrecursionlimit(10**6) readline = sys.stdin.readline read = sys.stdin.read #n,m,*d= [int(i) for i in read().split()] #a,t,k = [int(i) for i in readline().split()] n,x,*a = [int(i) for i in read().split()] r = [0]*n l = [0]*n r[-1] = n pt = 0 res = -a[0] for i in range(n-1): while pt < n and res+a[pt] <= x: res += a[pt] pt += 1 r[i] = pt res -= a[i] pt = n-1 res = -a[n-1] for i in range(n-1,0,-1): while pt >= 0 and res+a[pt] <= x: res += a[pt] pt -= 1 l[i] = pt+1 res -= a[i-1] dp = [[0]*n for _ in range(n)] #for i in dp: print(*i) for j in range(1,n): for k in range(l[j],j): dp[k][j] = 1 #for i in dp: print(*i) #print(l,r) for i in range(n-2,-1,-1): j = i while j < n: if dp[i][j] == 0: dp[i][j] = -1 for k in range(l[i],i): dp[k][j] = 1 dp[i][j+1:r[j]] = [1]*(r[j]-(j+1)) j = r[j] else: j += 1 #print(dp) #for i in dp: print(*i) a = dp[0][-1] if a == 1: print("A") else: print("B")