Pagini recente » Cod sursa (job #2333678) | Cod sursa (job #2832477) | Cod sursa (job #203272) | Cod sursa (job #59106) | Cod sursa (job #2694308)
#include <iostream>
#include <cstdio>
using namespace std;
#define MAXN 6000000
int maxSumI[MAXN];
int main()
{
FILE *fin=fopen("ssm.in", "r");
int n;
fscanf(fin, "%d", &n);
int x;
fscanf(fin, "%d", &x);
maxSumI[0]=x;
int maxSubSum=x, start=0, left=0, right=0;
for (int i=1; i<n; i++){
fscanf(fin, "%d", &x);
if (maxSumI[i-1]>0){
maxSumI[i]=x+maxSumI[i-1];
}else{
maxSumI[i]=x;
start=i;
}
if (maxSubSum<maxSumI[i]){
maxSubSum=maxSumI[i];
left=start;
right=i;
}
}
fclose(fin);
FILE *fout=fopen("ssm.out", "w");
fprintf(fout, "%d %d %d", maxSubSum, left+1, right+1);
fclose(fout);
return 0;
}