結果
| 問題 | 
                            No.198 キャンディー・ボックス2
                             | 
                    
| コンテスト | |
| ユーザー | 
                             ixTL255
                         | 
                    
| 提出日時 | 2023-01-08 13:14:59 | 
| 言語 | Rust  (1.83.0 + proconio)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 2 ms / 1,000 ms | 
| コード長 | 602 bytes | 
| コンパイル時間 | 14,717 ms | 
| コンパイル使用メモリ | 377,676 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-12-15 15:44:10 | 
| 合計ジャッジ時間 | 15,035 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 26 | 
ソースコード
use std::io::*;
use std::cmp;
fn main() {
	let mut s = String::new();
	std::io::stdin().read_to_string(&mut s).ok();
	let mut itr = s.trim().split_whitespace();
	let b: isize = itr.next().unwrap().parse().unwrap();
	let n: usize = itr.next().unwrap().parse().unwrap();
	let mut c: Vec<isize> = itr.map(|e| e.parse().unwrap()).collect();
	c.sort();
	
	let med = 
		if n % 2 == 0 { (c[n / 2] + c[n / 2 - 1]) / 2 }
		else { c[n / 2] };
	let s: isize = c.iter().sum();
	let x = cmp::min((b + s) / n as isize , med);
	let mut ans = 0;
	for i in 0..n { ans += (x - c[i]).abs(); }
	
	println!("{}", ans);
}
            
            
            
        
            
ixTL255