結果
| 問題 | No.3656 Game Scores and Costs |
| コンテスト | |
| ユーザー |
manabeai
|
| 提出日時 | 2026-08-30 14:01:38 |
| 言語 | Rust (1.97.1 + proconio + num + itertools) |
| 結果 |
AC
|
| 実行時間 | 18 ms / 2,000 ms |
| + 692µs | |
| コード長 | 1,181 bytes |
| 記録 | |
| コンパイル時間 | 538 ms |
| コンパイル使用メモリ | 184,920 KB |
| 実行使用メモリ | 7,424 KB |
| 最終ジャッジ日時 | 2026-08-30 14:02:04 |
| 合計ジャッジ時間 | 2,530 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 |
ソースコード
#![allow(
non_snake_case,
unused_variables,
unused_assignments,
unused_mut,
unused_imports,
unused_macros,
dead_code,
static_mut_refs
)]
// use ac_library::*;
use itertools::Itertools;
use proconio::{input, derive_readable,marker::*};
use std::{cmp::*, collections::*, dbg, fmt::*, hash::*, marker::PhantomData, ops::*, println};
// use rustc_hash::*;
fn main() {
input!{
n: usize,
k: usize,
x: isize,
A: [isize;n],
}
const INF: isize = -3_000_000_000_000_000_000;
let mut ans = INF;
let mut hq = BinaryHeap::new();
let mut now = 0;
for a in A.iter().enumerate() {
hq.push(-1*a.1);
now += *a.1;
if hq.len() > k {
now -= -1*hq.peek().unwrap();
hq.pop();
}
// dbg!(&a,&hq,&now);
ans = max(ans, now - x*(a.0 as isize +1));
}
println!("{}",ans);
}
trait Pipe: Sized {
fn pipe<F, T>(self, f: F) -> T
where
F: FnOnce(Self) -> T,
{
f(self)
}
}
impl<T> Pipe for T {}
fn yesno(b: bool) {
if b {
println!("Yes");
} else {
println!("No");
}
}
manabeai