Cod sursa(job #1430639)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 8 mai 2015 18:18:17
Problema Subsecventa de suma maxima Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define Xp 6000006
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[Xp];
int a,i,j,b,c,mix,suma,n,mas,x;
int main()
{
    f>>n;
    for(i=1;i<=n;i++) {f>>a; suma+=a; v[i]=suma;}
    for(i=n;i>=1;i--)
    {
        mas=99999999; for(j=1;j<i;j++) if(mas>=v[j]) {mas=v[j]; x=j;}
        j=x;
        if(mix==v[i]-v[j]) {if((v[b]-v[b-1]==v[j]-v[j-1] && (i-j+1) < (c-b+1))||(v[b]-v[b-1] > v[j]-v[j-1])) {b=j; c=i;}}
        else if(mix<v[i]-v[j]) {mix=v[i]-v[j]; b=j+1; c=i;}
    }
    g<<mix<<" "<<b<<" "<<c;
    g.close();
    return 0;
}