Cod sursa(job #874745)

Utilizator SoulSylverAndrei Ghiuzan SoulSylver Data 9 februarie 2013 11:29:22
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
#include<iostream>
#include<limits.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int x,n,s[6000001];
void cit(){
    in>>n;
    int i;
    for(i=1;i<=n;i++){
        in>>x;
        s[i]=s[i-1]+x;
    }
}
int main(){
    cit();
    int st,en,smax=INT_MIN,i,pmin=0,sc=0,smin=0;
    for(i=1;i<=n;i++){
        sc=s[i]-smin;
        if(sc>smax){
            smax=sc;
            st=pmin;
            en=i;
        }
        if(s[i]<smin){
            smin=s[i];
            pmin=i;
        }
    }
    out<<smax<<' '<<st+1<<' '<<en;
    return 0;
}