Pagini recente » Cod sursa (job #2234268) | Cod sursa (job #866759) | Cod sursa (job #1664819) | Cod sursa (job #3163724) | Cod sursa (job #377159)
Cod sursa(job #377159)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const char InFile[] = "ssm.in";
const char OutFile[] = "ssm.out";
const int MAXN = 7000005;
int n,bestSum=-2000000000,min2,idx,st,sf,s[MAXN];
FILE *f;
template<class T> T Max(T a, T b){
if(a>b){return a;}else{return b;}
}
int main(void) {
f=fopen(InFile,"r");
fscanf(f,"%d",&n);
for(register int i=1;i<=n;++i){
fscanf(f,"%d",&s[i]);
s[i]+=s[i-1];
}
fclose(f);
for(register int i=1;i<=n;++i) {
if(min2>s[i]){
min2=s[i],idx=i;
}
if(bestSum<s[i]-min2){
bestSum=s[i]-min2;
st=idx+1;
sf=i;
}
}
f=fopen(OutFile,"w");
fprintf(f,"%d %d %d",bestSum,st,sf);
fclose(f);
return 0;
}