結果

問題 No.81 すべて足すだけの簡単なお仕事です。
ユーザー phspls
提出日時 2020-08-09 01:37:01
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 1 ms / 5,000 ms
コード長 826 bytes
コンパイル時間 18,760 ms
コンパイル使用メモリ 390,460 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-22 16:51:36
合計ジャッジ時間 16,832 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

fn main() {
    let mut n = String::new();
    std::io::stdin().read_line(&mut n).ok();
    let n: usize = n.trim().parse().unwrap();
    let mut result: i128 = 0i128;
    for _ in 0..n {
        let mut a = String::new();
        std::io::stdin().read_line(&mut a).ok();
        let a: Vec<&str> = a.trim().split('.').collect();
        if a.len() == 1 {
            result += a[0].parse::<i128>().unwrap() * 1e10 as i128;
        } else {
            result += a[0].parse::<i128>().unwrap() * 1e10 as i128;
            let times: usize = 10 - a[1].len();
            result += a[1].parse::<i128>().unwrap() * 10i128.pow(times as u32) * if a[0].starts_with('-') { -1 } else { 1 };
        }
    }
    println!("{}{}.{:010}", if result < 0 { "-" } else { "" }, result.abs() / (1e10 as i128), result.abs() % (1e10 as i128));
}
0