Submission #2173842


Source Code Expand

use std::str::FromStr;
use std::io::*;

pub fn main() {
    let i = stdin();
    let mut o = Vec::new();
    run(&mut i.lock(), &mut o);
    stdout().write_all(&o).unwrap();
}

fn run<R: BufRead, W: Write>(i: &mut R, o: &mut W) {
    let mut i = ReadEx::from(i);
    let _ = i.read::<usize>();
    let a = i.read_vec::<usize>();

    fn f(a: usize) -> usize {
        let mut n = a;
        while (n % 2) == 0 || (n % 3) == 2 {
            n -= 1;
        }
        a - n
    }
    let r: usize = a.iter().map(|&a| f(a)).sum();
    writeln!(o, "{}", r).unwrap();
}

struct ReadEx<'a, R: BufRead + 'a> {
    r: &'a mut R,
    s: String,
}

impl<'a, R: BufRead + 'a> ReadEx<'a, R> {
    fn from(r: &'a mut R) -> Self {
        ReadEx {
            r: r,
            s: String::new(),
        }
    }
    fn next(&mut self) -> &str {
        self.s.clear();
        self.r.read_line(&mut self.s).unwrap();
        self.s.trim()
    }

    fn read<T: FromStr>(&mut self) -> T {
        self.next().parse().ok().unwrap()
    }

    fn read_vec<T: FromStr>(&mut self) -> Vec<T> {
        self.next()
            .split(' ')
            .map(|x| x.parse().ok().unwrap())
            .collect()
    }
}

Submission Info

Submission Time
Task B - 花占い
User frozenlib
Language Rust (1.15.1)
Score 100
Code Size 1250 Byte
Status AC
Exec Time 2 ms
Memory 4352 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 20
Set Name Test Cases
All sample_01.txt, sample_02.txt, test_1.txt, test_112358.txt, test_1379137913.txt, test_1414213562.txt, test_1732151817.txt, test_2.txt, test_2236167977.txt, test_2645751311.txt, test_3.txt, test_3141592653.txt, test_4.txt, test_5.txt, test_6.txt, test_6666666666.txt, test_7.txt, test_73.txt, test_8.txt, test_9.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 4352 KB
sample_02.txt AC 2 ms 4352 KB
test_1.txt AC 2 ms 4352 KB
test_112358.txt AC 2 ms 4352 KB
test_1379137913.txt AC 2 ms 4352 KB
test_1414213562.txt AC 2 ms 4352 KB
test_1732151817.txt AC 2 ms 4352 KB
test_2.txt AC 2 ms 4352 KB
test_2236167977.txt AC 2 ms 4352 KB
test_2645751311.txt AC 2 ms 4352 KB
test_3.txt AC 2 ms 4352 KB
test_3141592653.txt AC 2 ms 4352 KB
test_4.txt AC 2 ms 4352 KB
test_5.txt AC 2 ms 4352 KB
test_6.txt AC 2 ms 4352 KB
test_6666666666.txt AC 2 ms 4352 KB
test_7.txt AC 2 ms 4352 KB
test_73.txt AC 2 ms 4352 KB
test_8.txt AC 2 ms 4352 KB
test_9.txt AC 2 ms 4352 KB