Cod sursa(job #2191673)

Utilizator cameliagrozaGroza Camelia cameliagroza Data 3 aprilie 2018 13:25:27
Problema Subsecventa de suma maxima Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,i,j,x,s,v[6000001],a,b,d,maxim=-int(2e9);
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>x;
        s+=x;
        v[i]=s;
        if(v[i]>maxim) {maxim=v[i]; a=1; b=i; d=b;}
    }
    for(i=2;i<n;i++)
        for(j=i+1;j<=n;j++)
        {
            s=v[j]-v[i-1];
            if(s>maxim) {maxim=s; a=i; b=j; d=b-a+1;}
                else if(s==maxim && j-i+1<d) {a=i; b=j;}
        }
    g<<maxim<<' '<<a<<' '<<b;
}