結果
| 問題 | No.3617 Swap |
| コンテスト | |
| ユーザー |
kidodesu
|
| 提出日時 | 2026-08-06 15:04:02 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 596 ms / 2,000 ms |
| + 288µs | |
| コード長 | 1,062 bytes |
| 記録 | |
| コンパイル時間 | 250 ms |
| コンパイル使用メモリ | 95,856 KB |
| 実行使用メモリ | 199,680 KB |
| 最終ジャッジ日時 | 2026-08-06 15:04:29 |
| 合計ジャッジ時間 | 22,850 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| サンプル | 0 % | AC * 4 |
| 小課題1 | 5 % | AC * 3 |
| 小課題2 | 5 % | AC * 5 |
| 小課題3 | 15 % | AC * 14 |
| 小課題4 | 20 % | AC * 21 |
| 小課題5 | 25 % | AC * 8 |
| 小課題6 | 10 % | AC * 8 |
| 小課題7 | 20 % | AC * 56 |
| 合計 | 3 * 100% = 300 点 |
ソースコード
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]
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 qi in range(q):
Q[qi][0] //= m
for i in range(60):
for qi in range(q):
if Q[qi][0] & 1:
Q[qi][1] = dub[Q[qi][1]*60+i]
Q[qi][0] >>= 1
for t, x, idx in Q:
print(x+1)
main()
kidodesu