Pagini recente » Cod sursa (job #1005278) | Cod sursa (job #3157196) | Cod sursa (job #2296854) | Cod sursa (job #1021423) | Cod sursa (job #2157530)
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[6000001], sum[6000001], best[6000001];
int main() {
int n, start, stop;
f>>n;
for (int i=1; i<=n; i++){
f>>v[i];
}
sum[0]=0;
for (int i=1; i<=n; i++){
sum[i]=v[i]+sum[i-1];
}
int mini=sum[0];
int ssm=-1234567890;
for (int i=1; i<=n; i++) {
best[i]=sum[i]-mini;
if (mini>sum[i]){
mini=sum[i];
start=i+1;
}
if (ssm<best[i]){
ssm=best[i];
stop=i;
}
}
g<<ssm<<" "<<start<<" "<<stop;
return 0;
}