結果
| 問題 | No.3715 Tomorrow is MONDAY!!!!!! |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2026-09-18 18:41:13 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 98 ms / 2,000 ms |
| + 59µs | |
| コード長 | 1,109 bytes |
| 記録 | |
| コンパイル時間 | 78 ms |
| コンパイル使用メモリ | 80,768 KB |
| 実行使用メモリ | 120,704 KB |
| 最終ジャッジ日時 | 2026-09-18 20:52:00 |
| 合計ジャッジ時間 | 4,748 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 27 |
ソースコード
def main():
K, N = map(int, input().split())
D = list(map(int, input().split()))
total = sum(D)
answers = []
# 今見ている月より前の月の日数の合計
left = 0
for i, d in enumerate(D):
# i は 0-indexed。問題文の m = i + 1。
right = left + d
ans = -1
# 開始日を直前の日曜日まで早める。
need_left = (left - 1) % N + 1
# 前の i 個の月を、それぞれ1日以上残して移せる日数。
available_left = left - i
if need_left <= available_left:
ans = need_left
# 終了日を直後の日曜日まで遅くする。
need_right = N - (right - 1) % N
# 後ろの K-i-1 個の月を、それぞれ1日以上残して移せる日数。
available_right = total - right - (K - i - 1)
if need_right <= available_right:
if ans == -1 or need_right < ans:
ans = need_right
answers.append(str(ans))
left = right
print("\n".join(answers))
if __name__ == "__main__":
main()