結果

問題 No.2056 非力なレッド
ユーザー phspls
提出日時 2022-08-28 15:38:54
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 13 ms / 2,000 ms
コード長 717 bytes
コンパイル時間 14,483 ms
コンパイル使用メモリ 379,140 KB
実行使用メモリ 5,504 KB
最終ジャッジ日時 2024-10-15 14:04:05
合計ジャッジ時間 14,459 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 38
権限があれば一括ダウンロードができます
コンパイルメッセージ
warning: unused import: `std::collections::BinaryHeap`
 --> src/main.rs:1:5
  |
1 | use std::collections::BinaryHeap;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

ソースコード

diff #

use std::collections::BinaryHeap;


fn main() {
    let mut nxm = String::new();
    std::io::stdin().read_line(&mut nxm).ok();
    let nxm: Vec<usize> = nxm.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();
    let n = nxm[0];
    let x = nxm[1];
    let m = nxm[2];
    let mut a = String::new();
    std::io::stdin().read_line(&mut a).ok();
    let a: Vec<usize> = a.trim().split_whitespace().map(|s| s.parse().unwrap()).collect();

    let mut used = 0usize;
    let mut cnt = 0usize;
    for i in (0..n).rev() {
        while (a[i] >> cnt) >= x {
            cnt += 1;
            used += i+1;
        }
    }
    if used > m {
        println!("No");
    } else {
        println!("Yes");
    }
}
0