Cod sursa(job #1651022)

Utilizator MihneaGhiraMihnea MihneaGhira Data 11 martie 2016 23:05:15
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,i,nr,maxim,maxst,maxdr,st,dr;
int v[6000010],d[6000010];
int main(){
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    d[0]=maxim=-2000000000;
    st=1;
    dr=1;
    for(i=1;i<=n;i++){
        if(d[i-1]+v[i]>v[i]){
            d[i]=d[i-1]+v[i];
            dr++;
        }
        else{
            d[i]=v[i];
            st=i;
            dr=i;
        }
        if(maxim<d[i]){
                maxim=d[i];
                maxdr=dr;
                maxst=st;
            }
    }
   fout<<maxim<<" "<<maxst<<" "<<maxdr;
    return 0;
}