結果
| 問題 | No.3617 Swap |
| コンテスト | |
| ユーザー |
kidodesu
|
| 提出日時 | 2026-08-06 14:58:22 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,142 bytes |
| 記録 | |
| コンパイル時間 | 224 ms |
| コンパイル使用メモリ | 96,236 KB |
| 実行使用メモリ | 306,244 KB |
| 最終ジャッジ日時 | 2026-08-06 14:58:29 |
| 合計ジャッジ時間 | 6,631 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| サンプル | 0 % | AC * 4 |
| 小課題1 | 5 % | AC * 3 |
| 小課題2 | 5 % | AC * 3 TLE * 1 -- * 1 |
| 小課題3 | 15 % | -- * 14 |
| 小課題4 | 20 % | -- * 21 |
| 小課題5 | 25 % | -- * 8 |
| 小課題6 | 10 % | -- * 8 |
| 小課題7 | 20 % | AC * 7 TLE * 1 -- * 48 |
| 合計 | 3 * 5% = 15 点 |
ソースコード
def main():
n, m, q = list(map(int, input().split()))
LR = [list(map(lambda x: int(x)-1, input().split())) for _ in range(m)]
Q = [list(map(int, input().split())) + [_]for _ in range(q)]
for i in range(q): Q[i][1] -= 1
#E = [(i, n+1, -1) for i in range(m)]
E = [[] for _ in range(m)]
for t, x, idx in Q:
E[t%m].append((x, idx))
I = [i for i in range(n)]
for t in range(m):
for x, idx in E[t]:
Q[idx][1] = I[x]
Q[idx][0] -= t
l, r = LR[t]
I[l], I[r] = I[r], I[l]
Ans = [-1] * q
dub = [I[j//60] for j in range(60*n)]
for i in range(1, 60):
for u in range(n):
dub[u*60+i] = dub[dub[u*60+i-1]*60+i-1]
I = [i for i in range(n)]
time = 0
J = [i for i in range(q)]
J.sort(key = lambda x: Q[x][0])
for j in J:
t, x, idx = Q[j]
t //= m
k = t-time
i = 0
while k:
if k & 1:
I = [dub[I[u]*60+i] for u in range(n)]
i += 1
k >>= 1
Ans[idx] = I[x]
time = t
for ans in Ans:
print(ans+1)
main()
kidodesu