CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:Bliz
Submission time:2023-11-02 21:09:25 +0200
Language:Rust
Status:READY
Result:56
Feedback
groupverdictscore
#1ACCEPTED55.75
Test results
testverdicttimescore
#1ACCEPTED0.01 s7.13details
#2ACCEPTED0.01 s7.25details
#3ACCEPTED0.01 s7.38details
#4ACCEPTED0.01 s6.88details
#5ACCEPTED0.01 s7.13details
#6ACCEPTED0.01 s6.75details
#7ACCEPTED0.01 s6.5details
#8ACCEPTED0.01 s6.75details

Code

use std::{
    io::{self, BufRead},
    iter,
};

fn main() {
    let reader = io::stdin().lock();
    run(reader);
}

fn run<T>(mut reader: T)
where
    T: BufRead,
{
    let mut input = String::new();
    reader.read_line(&mut input).unwrap();

    let _n: i32 = input
        .trim()
        .parse()
        .expect("first line of input should be the number of days");

    reader.lines().for_each(|line| {
        println!(
            "{}",
            iter::repeat(
                &line
                    .unwrap()
                    .split_whitespace()
                    .skip(23)
                    .next()
                    .unwrap()
                    .parse::<f64>()
                    .unwrap()
                    .to_string()[..],
            )
            .take(6)
            .chain(iter::repeat("?"))
            .take(12)
            .collect::<Vec<&str>>()
            .join(" ")
        );
    });
}

#[cfg(test)]
mod tests {
    use super::*;
    use std::{fs::File, io::BufReader};

    #[test]
    fn example_input() {
        let file =
            File::open("in.txt").expect("there should be an example input file named `in.txt`");
        let reader = BufReader::new(file);
        run(reader);
    }

    #[test]
    fn custom() {
        let data_file_name = "data.txt";
        let file = File::open(data_file_name)
            .unwrap_or_else(|_| panic!("expected to find file `{}`", data_file_name));
        let reader = BufReader::new(file);
        run(reader);
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
1000
-0.4 -0.1 -0.2 -0.3 -0.4 -0.5 ...

correct output
0.4 0.4 0.5 0.8 0.9 1.1 1.3 1....

user output
0.2 0.2 0.2 0.2 0.2 0.2 ? ? ? ...
Truncated

Test 2

Verdict: ACCEPTED

input
1000
2.9 2.9 2.9 2.1 2.6 2 2 2.2 2....

correct output
2.3 1.6 1.5 1.1 1 0.7 0.6 0.8 ...

user output
2.6 2.6 2.6 2.6 2.6 2.6 ? ? ? ...
Truncated

Test 3

Verdict: ACCEPTED

input
1000
6.6 6 6.4 6 4.6 4.6 4.2 4.3 4....

correct output
10 10.9 10.3 10.1 9.1 7.3 5.7 ...

user output
10.1 10.1 10.1 10.1 10.1 10.1 ...
Truncated

Test 4

Verdict: ACCEPTED

input
1000
19.4 20.2 19.1 18.9 18.3 17.3 ...

correct output
18 18.2 17 17.5 17.2 16.2 12 8...

user output
17.2 17.2 17.2 17.2 17.2 17.2 ...
Truncated

Test 5

Verdict: ACCEPTED

input
1000
-5.7 -5.8 -5.8 -5.9 -7.1 -6.9 ...

correct output
-4.2 -4.1 -4 -3.8 -3.5 -3.2 -3...

user output
-4.5 -4.5 -4.5 -4.5 -4.5 -4.5 ...
Truncated

Test 6

Verdict: ACCEPTED

input
1000
14.8 14.8 15.4 12.9 11.8 9.7 9...

correct output
11.8 11 11.6 10.8 10.4 10.4 10...

user output
12.6 12.6 12.6 12.6 12.6 12.6 ...
Truncated

Test 7

Verdict: ACCEPTED

input
1000
0.7 1 2 1.4 0.6 -0.4 -0.9 -0.7...

correct output
-1.3 -0.5 -0.6 -1 -3.2 -7.2 -6...

user output
-1.8 -1.8 -1.8 -1.8 -1.8 -1.8 ...
Truncated

Test 8

Verdict: ACCEPTED

input
1000
15.1 15.3 14.9 14.4 14.4 13.7 ...

correct output
15.6 15.9 16 15.2 14.6 14.4 13...

user output
15 15 15 15 15 15 ? ? ? ? ? ?
1.2 1.2 1.2 1.2 1.2 1.2 ? ? ? ...
Truncated