Cod sursa(job #1412541)

Utilizator cont_gresitcont gresit cont_gresit Data 1 aprilie 2015 12:44:15
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <cstdio>
#define FOR(a,b,c) for(int a=b; a<=c; a++)
#define ROF(a,b,c) for(int a=c; a>=b; a--)
#define REP(a, b) for(int a=0; a<=b; a++)
#define max(a, b) (a>b?a:b)
#define min(a, b) (a<b?a:b)
#define MOD 666013
#define DIM 6000010
#define infile "ssm.in"
#define outfile "ssm.out"
#define inf (1<<30)
using namespace std;
int n, s, p, pi, u, i, maxim=-inf, x;
int main(){
    freopen(infile, "r", stdin);
    freopen(outfile, "w", stdout);
    scanf("%d", &n);
    pi=1;
    for(i=1; i<=n; i++)
    {
        scanf("%d", &x);
        s+=x;
        if(s>maxim)
            maxim=s, p=pi, u=i;
        if(s<0)
            s=x, pi=i;
    }
    if(maxim<s)
        maxim=s, p=pi, u=n;
    printf("%d %d %d\n", maxim, p, u);
    return 0;
}