結果
問題 | No.2860 Heal Slimes |
ユーザー | tassei903 |
提出日時 | 2024-08-25 14:52:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 330 ms / 2,000 ms |
コード長 | 1,284 bytes |
コンパイル時間 | 431 ms |
コンパイル使用メモリ | 82,588 KB |
実行使用メモリ | 109,124 KB |
最終ジャッジ日時 | 2024-08-25 14:52:58 |
合計ジャッジ時間 | 12,374 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 60 |
ソースコード
import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### def check(f): if len(f) == 0: return True B = 0 for i in range(f[0] is None, len(f) - (f[-1] is None)): if f[i] < 0: B += -f[i] else: B -= f[i] if B < 0: if not (f[0] is None): return False else: B = 0 if B > 0 and not (f[-1] is None): return False return True for _ in range(ni()): n, k, x = na() h = na() b = [h[i+1]-h[i] for i in range(n-1)] ans = 1 for i in range(k): f = [] for j in range(i, n + 1, k): if j == 0: f.append(None) elif j == n: f.append(None) else: if b[j-1] % x != 0: ans = 0 f.append(b[j-1] // x) ans &= check(f) #print(f, check(f)) if ans: print("Yes") else: print("No")