結果
問題 | No.2716 Falcon Method |
ユーザー |
![]() |
提出日時 | 2024-04-05 22:04:10 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,384 ms / 2,000 ms |
コード長 | 558 bytes |
コンパイル時間 | 362 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 30,320 KB |
最終ジャッジ日時 | 2024-10-01 02:21:05 |
合計ジャッジ時間 | 19,723 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 28 |
ソースコード
from bisect import bisect_left n,q = map(int,input().split()) s = input()*2; d = [0]; r = [0] for v in s: d.append(d[-1]); r.append(r[-1]) if v=="D": d[-1] += 1 else: r[-1] += 1 for _ in range(q): h,w,p = map(int,input().split()) if d[n]: d1,d2 = divmod(h,d[n]) else: d1 = d2 = n if d1>0==d2: d1 -= 1; d2 += d[n] d3 = max(bisect_left(d,d[p]+d2),p) if r[n]: r1,r2 = divmod(w,r[n]) else: r1 = r2 = n if r1>0==r2: r1 -= 1; r2 += r[n] r3 = max(bisect_left(r,r[p]+r2),p) print(d3%n if (d1,d3)<(r1,r3) else r3%n)