Cod sursa(job #516155)

Utilizator dragan1alexDragan Andrei Alexandru dragan1alex Data 23 decembrie 2010 12:05:42
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
 
int a[6000001],s[6000001];
int main  (){
    int i,j,n,smax,imax,jmax,sc,smin,imin;
    smax=INT_MIN;
    fin>>n;
    for(i=1;i<=n;i++){   fin>>a[i];
                        s[i]=s[i-1]+a[i];
                         
                        }
    smin=s[1];
    imin=1;
    for(i=2;i<=n;i++){
        sc=s[i]-smin;
        if(sc>smax){smax=sc;
                    imax=imin;
                    jmax=i;
        }
        if(s[i]<smin){smin=s[i];
        imin=i;
        }
    }
    fout<<smax<<" "<<imax+1<<" "<<jmax;
    return 0;
}