Cod sursa(job #2420159)

Utilizator raul41917raul rotar raul41917 Data 10 mai 2019 20:22:57
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
int v[6000001],ssm[6000001];
int main()
{
    int i;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    ssm[0]=0;
    for(i=1;i<=n;i++)
    {
        ssm[i]=ssm[i-1]+v[i];
    }
    int mn=INT_MAX,ans=INT_MIN;
    int indmn=1,indans=1;
    int st=1;
    for(i=1;i<=n;i++)
    {

        if(mn>ssm[i])
            st=i+1;
        if(ans<ssm[i]-mn)
            {
                indans=i;
                indmn=st;
            }
        mn=min(mn,ssm[i]);
        ans=max(ans,ssm[i]-mn);
    }
    fout<<ans<<" "<<indmn<<" "<<indans;
    fin.close();
    fout.close();
    return 0;
}