結果
| 問題 |
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)
ニックネーム