Cod sursa(job #1699517)

Utilizator anisca22Ana Baltaretu anisca22 Data 7 mai 2016 16:20:57
Problema Subsecventa de suma maxima Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long S[6000001];
int main()
{
    long n,i,a,mn,mx,kin=1,kfn,Si,k;
    mn=INT_MAX;
    mx=INT_MIN;
    fin>>n;
    S[0]=0;
    for(i=1;i<=n;i++)
        {fin>>a;
        S[i]=S[i-1]+a;}
    for(i=1;i<=n;i++)
    {
        Si=S[i]-S[kin-1];
        if(Si-mn>mx)
        {
            mx=Si;
            k=kin;
            kfn=i;
        }
        if(S[i]<mn)
        {
            mn=S[i];
            kin=i+1;
        }
    }
    fout<<mx<<" "<<k<<" "<<kfn<<endl;
    return 0;
}