結果
| 問題 | No.649 ここでちょっとQK! |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-07-31 10:56:03 |
| 言語 | Rust (1.94.0 + proconio + num + itertools) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,213 bytes |
| 記録 | |
| コンパイル時間 | 1,019 ms |
| コンパイル使用メモリ | 207,700 KB |
| 実行使用メモリ | 9,344 KB |
| 最終ジャッジ日時 | 2026-04-03 19:15:12 |
| 合計ジャッジ時間 | 27,569 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 30 TLE * 2 |
コンパイルメッセージ
warning: unused imports: `HashMap`, `HashSet`, and `VecDeque`
--> src/main.rs:2:29
|
2 | collections::{BTreeSet, HashMap, HashSet, VecDeque},
| ^^^^^^^ ^^^^^^^ ^^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
warning: unused import: `proconio::marker::Chars`
--> src/main.rs:8:5
|
8 | use proconio::marker::Chars;
| ^^^^^^^^^^^^^^^^^^^^^^^
ソースコード
use std::{
collections::{BTreeSet, HashMap, HashSet, VecDeque},
fmt::Debug,
io::stdin,
str::FromStr,
};
use proconio::marker::Chars;
fn main() {
// proconio::input! {
// q: usize,
// k: usize,
// }
let x = read::<u64>();
let (q, k) = (x[0], x[1]);
let mut query = (0..q)
.flat_map(|_| read::<u64>())
.enumerate()
.map(|v| (v.1, v.0));
let mut s = BTreeSet::new();
while let Some(q) = query.next() {
match q.0 {
1 => {
let val = query.next().unwrap();
s.insert(val);
}
2 => {
if s.len() < k as usize {
println!("-1");
} else {
let val = s.iter().skip(k as usize - 1).next().unwrap().clone();
println!("{}", val.0);
s.remove(&val);
}
}
_ => unreachable!(),
}
}
}
fn read<T>() -> Vec<T>
where
T: FromStr,
<T as std::str::FromStr>::Err: Debug,
{
let mut s = String::new();
stdin().read_line(&mut s).unwrap();
s.split(' ').map(|v| v.trim().parse().expect(v)).collect()
}