Submission #46418668


Source Code Expand

use proconio::input;

fn main() {
    input! {
        n: usize,
        a: [i64; n],
    };

    // +-+-...
    let mut ans1 = 0_i64;
    let mut sum = 0_i64;
    for (i, a_i) in a.iter().copied().enumerate() {
        sum += a_i;
        if i % 2 == 0 {
            if sum <= 0 {
                let count = (1 - sum).abs();
                ans1 += count;
                sum += count;
            }
        } else if sum >= 0 {
            let count = (-1 - sum).abs();
            ans1 += count;
            sum += -count;
        }
    }

    // -+-+... で最小にする
    let mut ans2 = 0_i64;
    let mut sum = 0_i64;
    for (i, a_i) in a.iter().copied().enumerate() {
        sum += a_i;
        if i % 2 == 0 {
            if sum >= 0 {
                let count = (-1 - sum).abs();
                ans2 += count;
                sum += -count;
            }
        } else if sum <= 0 {
            let count = (1 - sum).abs();
            ans2 += count;
            sum += count;
        }
    }

    println!("{}", ans1.min(ans2));
}

Submission Info

Submission Time
Task C - Sequence
User bouzuya
Language Rust (rustc 1.70.0)
Score 300
Code Size 1051 Byte
Status AC
Exec Time 6 ms
Memory 3608 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 18
Set Name Test Cases
Sample 00-00.txt, 00-01.txt, 00-02.txt
All 00-00.txt, 00-01.txt, 00-02.txt, 01-00.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt
Case Name Status Exec Time Memory
00-00.txt AC 1 ms 1932 KiB
00-01.txt AC 1 ms 1972 KiB
00-02.txt AC 1 ms 2096 KiB
01-00.txt AC 5 ms 3468 KiB
01-01.txt AC 5 ms 3608 KiB
01-02.txt AC 5 ms 3520 KiB
01-03.txt AC 5 ms 3432 KiB
01-04.txt AC 5 ms 3476 KiB
01-05.txt AC 5 ms 3344 KiB
01-06.txt AC 5 ms 3520 KiB
01-07.txt AC 5 ms 3348 KiB
01-08.txt AC 5 ms 3508 KiB
01-09.txt AC 5 ms 3388 KiB
01-10.txt AC 4 ms 3312 KiB
01-11.txt AC 5 ms 3572 KiB
01-12.txt AC 6 ms 3604 KiB
01-13.txt AC 5 ms 3488 KiB
01-14.txt AC 5 ms 3448 KiB