結果

問題 No.2716 Falcon Method
ユーザー ks2m
提出日時 2024-04-05 23:27:37
言語 Java
(openjdk 23)
結果
RE  
実行時間 -
コード長 1,841 bytes
コンパイル時間 2,231 ms
コンパイル使用メモリ 77,456 KB
実行使用メモリ 192,288 KB
最終ジャッジ日時 2024-10-01 03:07:44
合計ジャッジ時間 21,146 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 24 RE * 4
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] sa = br.readLine().split(" ");
int n = Integer.parseInt(sa[0]);
int q = Integer.parseInt(sa[1]);
char[] s = br.readLine().toCharArray();
int[] h = new int[q];
int[] w = new int[q];
int[] p = new int[q];
for (int i = 0; i < q; i++) {
sa = br.readLine().split(" ");
h[i] = Integer.parseInt(sa[0]);
w[i] = Integer.parseInt(sa[1]);
p[i] = Integer.parseInt(sa[2]);
}
br.close();
long[][] dpd = new long[31][n];
long[][] dpr = new long[31][n];
long inf = 1000000000000000000L;
long d = inf;
long r = inf;
for (int i = 0; i < n; i++) {
if (s[i] == 'D') {
d = n + i;
break;
}
}
for (int i = 0; i < n; i++) {
if (s[i] == 'R') {
r = n + i;
break;
}
}
for (int i = n - 1; i >= 0; i--) {
dpd[0][i] = d - i;
dpr[0][i] = r - i;
if (s[i] == 'D') {
d = i;
} else {
r = i;
}
}
for (int i = 0; i < 30; i++) {
for (int j = 0; j < n; j++) {
dpd[i + 1][j] = dpd[i][j] + dpd[i][(int) ((j + dpd[i][j]) % n)];
dpr[i + 1][j] = dpr[i][j] + dpr[i][(int) ((j + dpr[i][j]) % n)];
dpd[i + 1][j] = Math.min(dpd[i + 1][j], inf);
dpr[i + 1][j] = Math.min(dpr[i + 1][j], inf);
}
}
PrintWriter pw = new PrintWriter(System.out);
for (int i = 0; i < q; i++) {
if (s[p[i]] == 'D') {
h[i]--;
} else {
w[i]--;
}
d = p[i];
for (int j = 0; j < 31; j++) {
if ((h[i] >> j & 1) == 1) {
d += dpd[j][(int) (d % n)];
}
}
r = p[i];
for (int j = 0; j < 31; j++) {
if ((w[i] >> j & 1) == 1) {
r += dpr[j][(int) (r % n)];
}
}
long ans = Math.min(d + 1, r + 1) % n;
pw.println(ans);
}
pw.flush();
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0