Cod sursa(job #2489930)

Utilizator Simi_bogdanSimion Bogdan Dumitru Simi_bogdan Data 9 noiembrie 2019 13:25:10
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in ("ssm.in");
ofstream out("ssm.out");
struct Dp{
    int x;
};
#define nmax 6000001
Dp a[nmax];
Dp o[nmax];
int main()
{
    int i;
    int n;int init=0,fin=0;
    int Sol=1;
    in>>n;
    for(i=1;i<=n;i++)
        in>>o[i].x;
    for(i=1;i<=n;i++)
    {
        if(o[i].x<o[i].x+a[i-1].x)
            a[i].x=o[i].x+a[i-1].x;
        else
            a[i].x=o[i].x,init=i;
        if(a[i].x>Sol)
            Sol=a[i].x,fin=i;

    }
    out<<Sol<<" "<<init<<" "<<fin;

    return 0;
}