Cod sursa(job #912166)

Utilizator Toast97Calin Farcas Toast97 Data 12 martie 2013 09:48:14
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int aux[6000005], minime[6000005][2];

int main()
{
    int n,i,nr,s,d,max=-99999999;
    f>>n;

    for(i=1;i<=n;i++)   {
    f>>nr;
    aux[i]=aux[i-1]+nr;
    minime[i][0]=aux[i]; minime[i][1]=i;
    if(minime[i][0]>minime[i-1][0]) {minime[i][0]=minime[i-1][0]; minime[i][1]=minime[i-1][1];}
    }

    for(i=1;i<=n;i++) {
    if(aux[i]-minime[i][0]>max) {max=aux[i]-minime[i][0]; s=minime[i][1]+1; d=i;}
    }

    g<<max<<" "<<s<<" "<<d;

    f.close();
    g.close();
    return 0;

}