Cod sursa(job #366765)

Utilizator andreidragusAndrei Dragus andreidragus Data 22 noiembrie 2009 10:39:28
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 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;
int s;
int m, ans;

int main()
{

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


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

    s = 0  ;
        s=0;
    m = 0;
    int mi =0;
    ans = 0;
    int start = 0;
    int end = 0;
    for (int i = 0; i < n; i++)
    {
	scanf("%d", &a);
	a -= k;
	s+=a;
	if( ans < s-m)
	{
	    ans = s-m;
	    start = mi+1;
	    end = i+1;
	}
	
	if( s< m)
	{
	    m = s;
	    mi = i+1;
	}
    }

 


    printf("%d %d %d", ans,start,end);

    return 0;
}