提出 #31102717
ソースコード 拡げる
use std::{
cmp::Reverse,
collections::{BTreeSet, BinaryHeap},
};
use proconio::input;
fn main() {
input! {
n: usize,
k: usize,
mut td: [(usize, usize); n],
};
td.sort_by_key(|&(t, d)| (Reverse(d), t));
let mut pq = BinaryHeap::new();
let mut set = BTreeSet::new();
let mut sum = 0_usize;
for (t_i, d_i) in td.iter().copied().take(k) {
if !set.insert(t_i) {
pq.push(Reverse(d_i));
}
sum += d_i;
}
let mut ans = sum + set.len() * set.len();
for (t_i, d_i) in td.iter().copied().skip(k) {
if !set.insert(t_i) {
continue;
}
match pq.pop() {
Some(Reverse(x)) => sum -= x,
None => break,
}
sum += d_i;
ans = ans.max(sum + set.len() * set.len());
}
println!("{}", ans);
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Various Sushi |
| ユーザ | bouzuya |
| 言語 | Rust (1.42.0) |
| 得点 | 400 |
| コード長 | 867 Byte |
| 結果 | AC |
| 実行時間 | 45 ms |
| メモリ | 6664 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, s1.txt, s2.txt, s3.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 01.txt | AC | 7 ms | 2084 KiB |
| 02.txt | AC | 2 ms | 2132 KiB |
| 03.txt | AC | 1 ms | 2060 KiB |
| 04.txt | AC | 2 ms | 2088 KiB |
| 05.txt | AC | 1 ms | 2096 KiB |
| 06.txt | AC | 2 ms | 2164 KiB |
| 07.txt | AC | 1 ms | 2084 KiB |
| 08.txt | AC | 1 ms | 2108 KiB |
| 09.txt | AC | 1 ms | 2068 KiB |
| 10.txt | AC | 2 ms | 2068 KiB |
| 11.txt | AC | 1 ms | 2096 KiB |
| 12.txt | AC | 2 ms | 1976 KiB |
| 13.txt | AC | 2 ms | 2064 KiB |
| 14.txt | AC | 12 ms | 2760 KiB |
| 15.txt | AC | 25 ms | 4552 KiB |
| 16.txt | AC | 15 ms | 3372 KiB |
| 17.txt | AC | 23 ms | 4532 KiB |
| 18.txt | AC | 2 ms | 2180 KiB |
| 19.txt | AC | 34 ms | 5364 KiB |
| 20.txt | AC | 21 ms | 4308 KiB |
| 21.txt | AC | 33 ms | 4952 KiB |
| 22.txt | AC | 37 ms | 5780 KiB |
| 23.txt | AC | 36 ms | 5800 KiB |
| 24.txt | AC | 37 ms | 5884 KiB |
| 25.txt | AC | 40 ms | 5948 KiB |
| 26.txt | AC | 45 ms | 6248 KiB |
| 27.txt | AC | 30 ms | 5784 KiB |
| 28.txt | AC | 42 ms | 6664 KiB |
| 29.txt | AC | 27 ms | 5780 KiB |
| 30.txt | AC | 42 ms | 6292 KiB |
| 31.txt | AC | 17 ms | 5284 KiB |
| 32.txt | AC | 22 ms | 6092 KiB |
| 33.txt | AC | 31 ms | 5416 KiB |
| 34.txt | AC | 34 ms | 5848 KiB |
| 35.txt | AC | 39 ms | 6172 KiB |
| 36.txt | AC | 42 ms | 6516 KiB |
| 37.txt | AC | 25 ms | 5760 KiB |
| 38.txt | AC | 32 ms | 5308 KiB |
| s1.txt | AC | 2 ms | 2096 KiB |
| s2.txt | AC | 2 ms | 2068 KiB |
| s3.txt | AC | 1 ms | 1992 KiB |