// UVa 12393 - Non-negative Partial Sums
#include <stdio.h>
#include <string.h>
#define N 1000001
#define sll signed long long int
int a[N * 2];
int main() {
int n;
while (scanf("%d", &n) && (n != 0)) {
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
a[i + n] = a[i];
}
bool bad[N];
memset(bad, false, sizeof(bad));
sll sum = 0;
for (int i = 2 * n - 1; i >= 0; i--) {
if (sum > 0)
sum = 0;
sum += a[i];
if (sum < 0)
bad[i % n] = true;
}
int sol = 0;
for (int i = 0; i < n; i++)
if (!bad[i])
sol++;
printf("%d\n", sol);
}
return 0;
}
Saturday, May 16, 2015
UVa 12393 - Non-negative Partial Sums
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment