結果
| 問題 |
No.318 学学学学学
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-07-31 14:45:23 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 776 ms / 2,000 ms |
| コード長 | 1,237 bytes |
| コンパイル時間 | 12,841 ms |
| コンパイル使用メモリ | 402,772 KB |
| 実行使用メモリ | 11,724 KB |
| 最終ジャッジ日時 | 2024-07-31 14:45:43 |
| 合計ジャッジ時間 | 19,371 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 26 |
コンパイルメッセージ
warning: unused imports: `BTreeSet`, `HashMap`, `HashSet`, `VecDeque`, `fmt::Debug`, `io::stdin`, `str::FromStr`, `sync::OnceLock`
--> src/main.rs:2:19
|
2 | collections::{BTreeSet, HashMap, HashSet, VecDeque},
| ^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^
3 | fmt::Debug,
| ^^^^^^^^^^
4 | io::stdin,
| ^^^^^^^^^
5 | str::FromStr,
| ^^^^^^^^^^^^
6 | sync::OnceLock,
| ^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: unused import: `proconio::marker::Chars`
--> src/main.rs:9:5
|
9 | use proconio::marker::Chars;
| ^^^^^^^^^^^^^^^^^^^^^^^
ソースコード
use std::{
collections::{BTreeSet, HashMap, HashSet, VecDeque},
fmt::Debug,
io::stdin,
str::FromStr,
sync::OnceLock,
};
use proconio::marker::Chars;
fn main() {
proconio::input! {
n: usize,
a: [u64; n],
}
let mut s = a
.iter()
.copied()
.enumerate()
.map(|(i, v)| (v, i))
.collect::<Vec<_>>();
s.sort_unstable();
let s = {
let mut t = Vec::new();
let mut i = 0;
while i < n {
let (value, first) = s[i];
let mut last = first;
i += 1;
while i < n {
let (value2, idx) = s[i];
if value != value2 {
break;
}
last = idx;
i += 1;
}
t.push((value, first, last));
}
t
};
let mut r = a.clone();
for (value, first, last) in s {
r[first..=last].fill(value);
// for i in first..=last {
// r[i] = std::cmp::max(r[i], value);
// }
}
println!(
"{}",
r.into_iter()
.map(|r| format!("{r}"))
.collect::<Vec<String>>()
.join(" ")
);
}