Cod sursa(job #3201902)

Utilizator iancuu_andreiIancu Andrei iancuu_andrei Data 10 februarie 2024 09:46:24
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;

int a[100005], sum[100005], best[100005];

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

int main()
{
    int n,pozcurenta=1,stanga=1,dreapta=1;
    fin>>n;
    for(int i=1;i<=n;i++) fin>>a[i];
    sum[0]=0;
    for(int i=1;i<=n;i++) sum[i]=a[i]+sum[i-1];
    int min=sum[0];
    int bestSum=INT_MIN;
    for(int i=1;i<=n;i++)
    {
        best[i]=sum[i]-min;
        if (min > sum[i])
        {
            min=sum[i];
            pozcurenta=i+1;
        }
        if (bestSum < best[i])
        {
            bestSum = best[i];
            stanga=pozcurenta;
            dreapta=i;
        }
    }
    if(stanga>dreapta) fout<<dreapta<<' '<<dreapta;
    else fout<<stanga<<' '<<dreapta;
}