Pagini recente » Cod sursa (job #903436) | Cod sursa (job #1746278) | Cod sursa (job #2530546) | Cod sursa (job #761347) | Cod sursa (job #2454220)
#include <iostream>
#include <fstream>
#include <string.h>
#include <cstring>
#include <fstream>
using namespace std;
int n,c,b[6000000],maxim[6000000],inceput[6000000],sfarsit[6000000],max1,c1,c2;
void suma_maxima(){
for (c=2;c<=n;c++){
if (maxim[c-1]+b[c]>=b[c]){
maxim[c]=maxim[c-1]+b[c];
inceput[c]=inceput[c-1];
sfarsit[c]=c;
} else
if (maxim[c-1]+b[c]<b[c]){
maxim[c]=b[c];
inceput[c]=c;
sfarsit[c]=c;
}
if (maxim[c]>max1){
max1=maxim[c];
c1=inceput[c];
c2=sfarsit[c];
}
}
}
int main(){
ifstream f("ssm.in");
f >> n;
for (c=1;c<=n;c++)
f >> b[c];
f.close();
suma_maxima();
ofstream g("ssm.out");
g << max1 << ' ' << c1 << ' ' << c2;
g.close();
return 0;
}