Submission #9872631


Source Code Expand

#include "bits/stdc++.h"
using namespace std;

#define FOR(i, a, b) for (int i = (a); i < (b); ++i)
#define REP0(i, n) for (int i = 0, i##_len = (n); i < i##_len; ++i)
#define REP1(i, n) for (int i = 1, i##_len = (n); i <= i##_len; ++i)

typedef long long LL;
typedef pair<int, int> pii;

const int INTINF = 1e9;
const LL LLINF = 1e18;

void solve()
{
    int N;
    cin >> N;
    vector<int> a(N);

    REP0(i, N)
    {
        cin >> a[i];
    }
    LL ans = LLINF;

    { // 偶数番目までの累積を正にする
        LL ans_e = 0;
        LL sign[2] = {1, -1};
        LL cumsum = 0;
        REP0(i, N)
        {
            cumsum += a[i];
            if (cumsum * sign[i % 2] <= 0)
            {
                ans_e += abs(cumsum) + 1;
                cumsum = sign[i % 2];
            }
        }
        ans = min(ans_e, ans);
    }

    { // 奇数番目までの累積を正にする
        LL ans_o = 0;
        LL sign[2] = {-1, 1};
        LL cumsum = 0;
        REP0(i, N)
        {
            cumsum += a[i];
            if (cumsum * sign[i % 2] <= 0)
            {
                ans_o += abs(cumsum) + 1;
                cumsum = sign[i % 2];
            }
        }
        ans = min(ans_o, ans);
    }
    cout << ans << endl;
}

int main(int argc, char const *argv[])
{
    cin.tie(0);
    ios::sync_with_stdio(false);
    std::cout << std::fixed << std::setprecision(10);
    solve();
    return 0;
}

Submission Info

Submission Time
Task C - Sequence
User optie
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1434 Byte
Status AC
Exec Time 14 ms
Memory 640 KB

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 256 KB
00-01.txt AC 1 ms 256 KB
00-02.txt AC 1 ms 256 KB
01-00.txt AC 13 ms 640 KB
01-01.txt AC 13 ms 640 KB
01-02.txt AC 13 ms 640 KB
01-03.txt AC 12 ms 640 KB
01-04.txt AC 12 ms 640 KB
01-05.txt AC 11 ms 640 KB
01-06.txt AC 13 ms 640 KB
01-07.txt AC 12 ms 640 KB
01-08.txt AC 13 ms 640 KB
01-09.txt AC 12 ms 640 KB
01-10.txt AC 10 ms 512 KB
01-11.txt AC 13 ms 640 KB
01-12.txt AC 14 ms 640 KB
01-13.txt AC 12 ms 640 KB
01-14.txt AC 13 ms 640 KB