Submission #1234150


Source Code Expand

#include <cassert>
#include <cctype>
#include <climits>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <algorithm>
#include <deque>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <new>
#include <queue>
#include <set>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
using namespace std;
typedef int64_t i64;

static i64 f(i64 *a, int n, int sgn, i64 sum, i64 ret) {
	if(n <= 0) return ret;
	if(sgn * (*a + sum) > 0) return f(a + 1, n - 1, -sgn, sum, ret);
	auto delta = sgn - (*a + sum);
	return f(a + 1, n - 1, -sgn, sum + delta, ret + abs(delta));
}

int main() {
	ios_base::sync_with_stdio(false);
	int n;
	cin >> n;
	auto a = new i64[n];
	for(int i = 0; i < n; i++) {
		cin >> a[i];
		if(i != 0) a[i] += a[i - 1];
	}
	cout << min(f(a, n, +1, 0, 0), f(a, n, -1, 0, 0)) << endl;
	return 0;
}

Submission Info

Submission Time
Task C - Sequence
User arosusti
Language C++14 (GCC 5.4.1)
Score 300
Code Size 979 Byte
Status AC
Exec Time 13 ms
Memory 1024 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 256 KiB
00-01.txt AC 1 ms 256 KiB
00-02.txt AC 1 ms 256 KiB
01-00.txt AC 13 ms 1024 KiB
01-01.txt AC 13 ms 1024 KiB
01-02.txt AC 13 ms 1024 KiB
01-03.txt AC 12 ms 1024 KiB
01-04.txt AC 12 ms 896 KiB
01-05.txt AC 11 ms 896 KiB
01-06.txt AC 13 ms 1024 KiB
01-07.txt AC 12 ms 896 KiB
01-08.txt AC 13 ms 1024 KiB
01-09.txt AC 12 ms 896 KiB
01-10.txt AC 10 ms 896 KiB
01-11.txt AC 13 ms 1024 KiB
01-12.txt AC 13 ms 1024 KiB
01-13.txt AC 12 ms 1024 KiB
01-14.txt AC 13 ms 1024 KiB