結果
| 問題 |
No.2716 Falcon Method
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-02-03 19:00:51 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 434 ms / 2,000 ms |
| コード長 | 705 bytes |
| コンパイル時間 | 411 ms |
| コンパイル使用メモリ | 82,172 KB |
| 実行使用メモリ | 80,128 KB |
| 最終ジャッジ日時 | 2024-09-28 10:58:02 |
| 合計ジャッジ時間 | 9,439 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 28 |
ソースコード
n, q = map(int, input().split())
s = input()
d = [0] * (n + 1)
r = [0] * (n + 1)
for i in range(n):
d[i + 1] = d[i] + (1 if s[i] == 'D' else 0)
r[i + 1] = r[i] + (1 if s[i] == 'R' else 0)
for _ in range(q):
h, w, p = map(int, input().split())
ok = h + w
ng = 0
while ok - ng > 1:
mid = (ok + ng) // 2
d_cnt = 0
d_cnt += d[n] * ((p + mid) // n) + d[(p + mid) % n]
d_cnt -= d[n] * (p // n) + d[p % n]
r_cnt = 0
r_cnt += r[n] * ((p + mid) // n) + r[(p + mid) % n]
r_cnt -= r[n] * (p // n) + r[p % n]
if d_cnt >= h or r_cnt >= w:
ok = mid
else:
ng = mid
print((p + ok) % n)