Cod sursa(job #1959871)

Utilizator mateibanuBanu Matei Costin mateibanu Data 9 aprilie 2017 23:53:31
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>

using namespace std;

FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");

int main()
{
    int n,i,p1,p2,mx=0,s=0,l=0,x,mn,p=1;
    fscanf(f,"%d",&n);
    for (i=1;i<=n;i++){
        fscanf(f,"%d",&x);
        if (i==1) {mn=x;p=i;}
        else if (mn<x) {mn=x;p=i;}
        s+=x;
        if (s<0){
            s=0;
            l=0;
        }
        else {
            l++;
            if (s>mx) {mx=s;p2=i;p1=i-l+1;}
        }
    }
    if (mx==0) {mx=mn;p1=p;p2=p;}
    fprintf(g,"%d %d %d",mx,p1,p2);
    fclose(f);
    fclose(g);
    return 0;
}