Cod sursa(job #2052452)

Utilizator stefanpiturStefan Alexandru Pitur stefanpitur Data 30 octombrie 2017 16:59:49
Problema Subsecventa de suma maxima Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    FILE *fin, *fout;
    int s,i,start,pozstart,pozstop,n,x,maxim=0;
    fin=fopen("ssm.in","r");
    fout=fopen("ssm.out","w");
    fscanf(fin,"%d",&n);
    for(s=0, start=1, i=1;i<=n;i++){
        fscanf(fin,"%d",&x);
        s=s+x;
        if(x<0){
            maxim=max(maxim,s-x);
            pozstart=start;
            pozstop=i-1;
        }
        if(s<x){
            maxim=max(maxim,s-x);
            pozstart=start;
            pozstop=i-1;
            start=i;
            s=x;
        }
    }
    if(s>maxim){
        maxim=s;
        pozstart=start;
        pozstop=n;
    }
    fprintf(fout,"%d %d %d\n",maxim,pozstart,pozstop);
    fclose(fin);
    fclose(fout);
    return 0;
}