Cod sursa(job #1669330)

Utilizator 3DwArDPauliuc Edward 3DwArD Data 30 martie 2016 17:34:02
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[6000005];
struct s{
    int a;
    int x;
    int y;
} m[6000005],ma;
int main()
{
    int n;
    f>>n;
    m[0].a=0;
    ma.a=-10e9;
    for(int i=1;i<=n;i++)
        {
            f>>v[i];
            int c=m[i-1].a+v[i];
            if(c>v[i])
            {
                m[i].a=c;
                m[i].x=m[i-1].x;
                m[i].y=i;
            }
            else
            {
                m[i].a=v[i];
                m[i].x=i;
                m[i].y=i;
            }
            if(m[i].a>ma.a)
            {
                ma.a=m[i].a;
                ma.x=m[i].x;
                ma.y=m[i].y;
            }
        }
    g<<ma.a<<" "<<ma.x<<" "<<ma.y;
    return 0;
}