Cod sursa(job #3204768)

Utilizator Theo14Ancuta Theodor Theo14 Data 17 februarie 2024 13:30:50
Problema Subsecventa de suma maxima Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
#include <map>
#include <iomanip>
#include <climits>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int v[6001];
int sp[6000001];
int main()
{
    int n;
    in >> n;
    for(int i =1; i<= n ; i++)
    {
        in >> v[i];
        sp[i]=sp[i-1]+v[i];
    }
    int mini=0,index_aux=0,index2=1,index1;
    int maxi=INT_MIN;
    for(int i =1; i<= n ; i++)
    {
        if(sp[i]-mini>maxi)
            maxi=sp[i]-mini,index2=i,index1=index_aux;
        if(sp[i]<mini)
            mini=sp[i],index_aux=i;
    }
    out << maxi << ' ' << index1+1<< ' '<< index2;
    return 0;
}