結果
| 問題 | No.1013 〇マス進む |
| コンテスト | |
| ユーザー |
urectanc
|
| 提出日時 | 2026-05-04 16:57:09 |
| 言語 | Rust (1.94.0 + proconio + num + itertools) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 622 bytes |
| 記録 | |
| コンパイル時間 | 3,121 ms |
| コンパイル使用メモリ | 200,780 KB |
| 実行使用メモリ | 7,976 KB |
| 最終ジャッジ日時 | 2026-05-04 16:57:20 |
| 合計ジャッジ時間 | 6,769 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 5 WA * 57 |
ソースコード
use itertools::Itertools;
use proconio::input;
fn main() {
input! {
n: usize, mut k: usize,
p: [usize; n],
}
let mut pos = (0..n).collect_vec();
let mut ans = (1..=n).collect_vec();
let mut dp = p;
while k > 0 {
if k & 1 == 1 {
for i in 0..n {
ans[i] += dp[pos[i]];
}
pos.iter_mut()
.zip(&dp)
.for_each(|(pos, &dp)| *pos = (*pos + dp) % n);
}
dp = (0..n).map(|i| dp[i] + dp[(i + dp[i]) % n]).collect();
k >>= 1;
}
println!("{}", ans.iter().join("\n"));
}
urectanc