Cod sursa(job #366720)

Utilizator andreidragusAndrei Dragus andreidragus Data 22 noiembrie 2009 10:28:49
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h>
#include<vector>
#include<algorithm>
#include<map>

#define maxn 100020
#define ll long long

using namespace std;

int n;
int k;
int a[maxn];
int s[maxn];
int m, ans;

int main()
{

    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);


    scanf("%d", &n);
   // scanf("%d", &k);
    k=0;

    for (int i = 0; i < n; i++)
    {
	scanf("%d", &a[i]);
	a[i] -= k;
    }

    s[0] = 0;

    for (int i = 1; i <= n; i++)
    {
	s[i] = s[i - 1] + a[i - 1];
    }

    m = 0;
    ans = 0;

    for (int i = 1; i <= n; i++)
    {
	ans = max(s[i] - m, ans);
	m = min(s[i], m);
    }

    printf("%d", ans);

    return 0;
}