Cod sursa(job #2683890)

Utilizator TeodorMorosanTeodor Morosan TeodorMorosan Data 12 decembrie 2020 10:53:55
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>

using namespace std;
ifstream cin ("ssm.in");
ofstream cout ("ssm.out");
struct
{
    int start, sfarsit, suma;
} subsecv;
int n, i,  maxi, startbun, sfarsitbun, a;
int main()
{
    cin >> n;
    for(i=1;i<=n;i++)
    {
        cin >> a;
        if(subsecv.suma+a>=a)
        {
            subsecv.suma=subsecv.suma+a;
            subsecv.start=i;
        }
        else
        {
            subsecv.suma=a;
            subsecv.start=i;
            subsecv.sfarsit=i;
        }
         if(subsecv.suma>maxi)
        {
            maxi=subsecv.suma;
            startbun=subsecv.start;
            sfarsitbun=subsecv.sfarsit;
        }
    }
  /*  if(dp[n].sfarsit!=n)
    {
        dp[n].sfarsit=n;
        dp[n].start=poz;
    }*/
    cout << maxi << ' ' << sfarsitbun << ' ' << startbun;
    return 0;
}