Pagini recente » Cod sursa (job #320496) | Cod sursa (job #2126433) | Cod sursa (job #881801) | Cod sursa (job #2294062) | Cod sursa (job #2454252)
#include <iostream>
#include <fstream>
#include <string.h>
#include <cstring>
#include <fstream>
using namespace std;
int n,c,b[6000009],maxim[6000009],max1,c1,c2;
void suma_maxima(){
c1=1;
c2=1;
maxim[1]=b[1];
for (c=2;c<=n;c++){
if (maxim[c-1]+b[c]>=b[c]){
maxim[c]=maxim[c-1]+b[c];
if (maxim[c]>max1){
max1=maxim[c];
c2=c;
}
} else
if (maxim[c-1]+b[c]<b[c]){
maxim[c]=b[c];
if (maxim[c]>max1){
max1=maxim[c];
c1=c;
c2=c;
} else
if ((maxim[c]==max1) & (c2-c1>0))
{
c1=c;
c2=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;
}