Cod sursa(job #3220311)

Utilizator andreiciocanCiocan Andrei andreiciocan Data 3 aprilie 2024 09:29:18
Problema Subsecventa de suma maxima Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int NMAX=1e6;
int v[NMAX+1];
int main()
{
    int n;
    long long mini=1e18;
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
        if(v[i]<mini)
            mini=v[i];
    }
    long long smax=mini;
    long long s=0;
    int st=1,dt=1;
    int p=1;
    for(int i=1;i<=n;i++)
    {
        if(s<0)
        {
            p=i;
            s=0;
        }
        s+=v[i];
        if(s>smax)
        {
            smax=s;
            st=p;
            dt=i;
        }
    }
    fout<<smax<<" "<<st<<" "<<dt;
    return 0;
}