結果
| 問題 |
No.259 セグメントフィッシング+
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-03-26 15:54:20 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,146 bytes |
| コンパイル時間 | 495 ms |
| コンパイル使用メモリ | 82,888 KB |
| 実行使用メモリ | 124,712 KB |
| 最終ジャッジ日時 | 2025-03-26 15:55:17 |
| 合計ジャッジ時間 | 5,931 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 2 WA * 3 TLE * 1 -- * 17 |
ソースコード
import sys
def main():
input = sys.stdin.read().split()
ptr = 0
N = int(input[ptr])
ptr += 1
Q = int(input[ptr])
ptr += 1
queries = []
for _ in range(Q):
type_ = input[ptr]
ptr += 1
t = int(input[ptr])
ptr += 1
y = int(input[ptr])
ptr += 1
z = int(input[ptr])
ptr += 1
queries.append((type_, t, y, z))
fishes = []
for q in queries:
if q[0] in ('L', 'R'):
typ, t, y, z = q
fishes.append((typ, t, y, z))
else:
_, T, y_query, z_query = q
total = 0
for fish in fishes:
typ, t0, y0, cnt = fish
delta = T - t0
if delta < 0:
continue
if typ == 'R':
if delta <= (N-1 - y0):
x = y0 + delta
else:
s = N-1 - y0
rem = delta - s
rem -= 1
if rem < 0:
x = y0 + s
else:
rem = rem % (2*(N-1))
if rem <= (N-1):
x = (N-1) - rem
else:
rem -= (N-1)
x = rem
else: # 'L'
if delta <= y0:
x = y0 - delta
else:
s = y0
rem = delta - s
rem -= 1
if rem < 0:
x = y0 - s
else:
rem = rem % (2*(N-1))
if rem <= (N-1):
x = rem
else:
rem -= (N-1)
x = (N-1) - rem
if y_query <= x < z_query:
total += cnt
print(total)
if __name__ == '__main__':
main()
lam6er