結果
| 問題 |
No.674 n連勤
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-08-24 12:24:22 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 983 bytes |
| コンパイル時間 | 76 ms |
| コンパイル使用メモリ | 13,056 KB |
| 実行使用メモリ | 21,276 KB |
| 最終ジャッジ日時 | 2024-06-11 19:51:25 |
| 合計ジャッジ時間 | 5,194 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 10 TLE * 1 -- * 6 |
コンパイルメッセージ
Main.py:25: SyntaxWarning: invalid decimal literal result.append(max([t[1] - t[0] + 1for t in taskrange]))
ソースコード
def solve(D, Q, Qs):
taskrange = []
result = []
for q in Qs:
t = [int(ql) for ql in q.split(" ")]
merged = False
while(True):
merging = False
for i, task in enumerate(taskrange):
if t == task: continue
if task[0] <= t[1] <= task[1] + 1 or task[0] <= t[0] <= task[1] + 1 or \
t[0] <= task[1] <= t[1] + 1 or t[0] <= task[0] <= t[1] + 1:
taskrange[i] = [min(task[0], t[0]), max(task[1], t[1])]
t = task
merging = True
merged = True
if not merging:
break
if not merged:
taskrange.append(t)
result.append(max([t[1] - t[0] + 1for t in taskrange]))
return result
if __name__ == "__main__":
D, Q = tuple([int(c) for c in input().split(" ")])
print("\n".join([str(a) for a in solve(D, Q, [input() for _ in range(0, Q)])]))