Submission #2216628


Source Code Expand

extern crate core;

use std::io::{self, Read};

fn main() {
    let mut input = String::new();
    io::stdin().read_to_string(&mut input).unwrap();
    let output = run(input.trim().to_string());
    println!("{}", output);
}

fn run(input: String) -> String {
    let mut iter = input.split("\n").map(|x| {
        let v = x.split_whitespace()
            .map(|x| x.parse::<i64>().unwrap())
            .collect::<Vec<_>>();
        (v[0], v[1])
    });
    let (_, k) = iter.next().unwrap();
    let mut list = iter.collect::<Vec<_>>();
    list.sort_by_key(|&(x, _)| x);
    list.into_iter()
        .scan((0, 0), |state, (a, b)| {
            *state = (a, (*state).1 + b);
            Some(*state)
        })
        .find(|&(a, b)| b >= k)
        .map(|(x, _)| x)
        .unwrap()
        .to_string()
}

macro_rules! tests {
    ($($name:ident: $input:expr=>$output:expr,)*) => {
        mod tests {
            $(
                #[test]
                fn $name() {
                    assert_eq!(super::run($input.to_string()), $output.to_string());
                }
            )*
        }
    }
}

tests! {
    test1: "3 4
1 1
2 2
3 3" => "3",
    test2: "10 500000
1 100000
1 100000
1 100000
1 100000
1 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000" => "1",
}

Submission Info

Submission Time
Task C - Big Array
User kgtkr
Language Rust (1.15.1)
Score 300
Code Size 1370 Byte
Status AC
Exec Time 30 ms
Memory 12540 KB

Compile Error

warning: unused variable: `a`, #[warn(unused_variables)] on by default
  --> ./Main.rs:27:18
   |
27 |         .find(|&(a, b)| b >= k)
   |                  ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 17
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 4352 KB
sample_02.txt AC 2 ms 4352 KB
subtask_1_1.txt AC 2 ms 4352 KB
subtask_1_10.txt AC 30 ms 12540 KB
subtask_1_11.txt AC 30 ms 12540 KB
subtask_1_12.txt AC 29 ms 12540 KB
subtask_1_13.txt AC 28 ms 12540 KB
subtask_1_14.txt AC 29 ms 12540 KB
subtask_1_15.txt AC 25 ms 12540 KB
subtask_1_2.txt AC 3 ms 4352 KB
subtask_1_3.txt AC 10 ms 6396 KB
subtask_1_4.txt AC 20 ms 8444 KB
subtask_1_5.txt AC 30 ms 12540 KB
subtask_1_6.txt AC 2 ms 4352 KB
subtask_1_7.txt AC 2 ms 4352 KB
subtask_1_8.txt AC 3 ms 4352 KB
subtask_1_9.txt AC 13 ms 6396 KB