Cod sursa(job #2664622)

Utilizator Rufus007Marincia Catalin Rufus007 Data 29 octombrie 2020 00:10:19
Problema A+B Scor 100
Compilator rs Status done
Runda Arhiva de probleme Marime 0.82 kb
use std::fs::File;
use std::io::{BufRead, BufReader, BufWriter, Write};

fn main() {
    let path_input = "adunare.in";
    let path_output = "adunare.out";
    let buf_reader = BufReader::new(
        File::open(path_input).unwrap_or_else(|_| panic!("Could not open file {}", path_input)),
    );
    let numbers = buf_reader
        .lines()
        .map(|line| line.expect("Could not read line"))
        .flat_map(|line| {
            line.split_whitespace()
                .map(|num| num.parse().expect("Not a number"))
                .collect::<Vec<i64>>()
        });
    let mut buf_writer =
        BufWriter::new(File::create("adunare.out").expect("Not being able to create output file"));
    writeln!(buf_writer, "{}", numbers.sum::<i64>())
        .unwrap_or_else(|_| panic!("Could not write to file {}", path_output));
}