結果
| 問題 | 
                            No.1823 Tricolor Dango
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2022-10-12 23:42:27 | 
| 言語 | Rust  (1.83.0 + proconio)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 23 ms / 2,000 ms | 
| コード長 | 868 bytes | 
| コンパイル時間 | 14,535 ms | 
| コンパイル使用メモリ | 379,576 KB | 
| 実行使用メモリ | 5,632 KB | 
| 最終ジャッジ日時 | 2024-06-26 11:33:38 | 
| 合計ジャッジ時間 | 15,250 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 1 | 
| other | AC * 25 | 
コンパイルメッセージ
warning: unused variable: `n` --> src/main.rs:5:9 | 5 | let n: usize = n.trim().parse().unwrap(); | ^ help: if this is intentional, prefix it with an underscore: `_n` | = note: `#[warn(unused_variables)]` on by default warning: variable does not need to be mutable --> src/main.rs:8:9 | 8 | let mut a: Vec<usize> = a.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); | ----^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
ソースコード
fn solve() -> String {
    let mut n = String::new();
    std::io::stdin().read_line(&mut n).ok();
    let n: usize = n.trim().parse().unwrap();
    let mut a = String::new();
    std::io::stdin().read_line(&mut a).ok();
    let mut a: Vec<usize> = a.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();
    let summary = a.iter().sum::<usize>();
    if summary % 3 > 0 {
        return "No".to_string();
    }
    let maxval = *a.iter().max().unwrap();
    if maxval > summary / 3 {
        "No".to_string()
    } else {
        "Yes".to_string()
    }
}
fn main() {
    let mut t = String::new();
    std::io::stdin().read_line(&mut t).ok();
    let t: usize = t.trim().parse().unwrap();
    let mut result = Vec::with_capacity(t);
    for _ in 0..t {
        result.push(solve());
    }
    for v in result.iter() {
        println!("{}", v);
    }
}