結果
問題 |
No.259 セグメントフィッシング+
|
ユーザー |
![]() |
提出日時 | 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()