Cod sursa(job #2489935)

Utilizator Simi_bogdanSimion Bogdan Dumitru Simi_bogdan Data 9 noiembrie 2019 13:35:33
Problema Subsecventa de suma maxima Scor 15
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 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=-100000;
    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;
            if(a[i].x>=Sol)fin=i,init=i;
        }
        if(a[i].x>=Sol)
            Sol=a[i].x,fin=i;

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

    return 0;
}