Cod sursa(job #2876963)

Utilizator AndreiP15Andrei Enea AndreiP15 Data 23 martie 2022 22:41:18
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
using namespace std;

    ifstream cin("ssm.in");
    ofstream cout("ssm.out");


int dp[6000005],a[6000005];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;++i)
      cin>>a[i];
    dp[0]=a[0];
    for(int i=1;i<n;++i)
    {
          if(a[i-1]+a[i]>=a[i])
          {
                dp[i]=dp[i-1];
                a[i]=a[i-1]+a[i];
          }
          else
          {
                dp[i]=i;
          }
    }
    int ans=-2e9,r;
    for(int i=0;i<n;++i)
    {
          if(a[i]>ans)
          {
                r=i;
                ans=a[i];
          }
    }
    cout<<ans<<' '<<dp[r]+1<<' '<<r+1<<'\n';
    return 0;
}