Cod sursa(job #2370503)

Utilizator pinbuAdi Giri pinbu Data 6 martie 2019 12:25:51
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
#define N 6000001
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int v[N],s[N],n;

int main()
{
    int i,s1,s1_i,s2,s2_i;
    
    fin>>n;
    
    fin>>v[1];
    s[1]=v[1];
    
    s1=s2=v[1];
    s1_i=s2_i=1;
    
    for(i=2;i<=n;i++)
    {
        fin>>v[i];
        s[i]=s[i-1]+v[i];
        
        if(s[i]<s1)
        {
            s1=s[i];
            s1_i=i;
        }
        
        if(s[i]>s2)
        {
            s2=s[i];
            s2_i=i;
        }
    }
    
    fout<<s[s2_i]-s[s1_i]<<" "<<s1_i+1<<" "<<s2_i;
    return 0;
}