Pagini recente » Cod sursa (job #239983) | Cod sursa (job #1067937) | Cod sursa (job #3226978) | Cod sursa (job #3139912) | Cod sursa (job #758107)
Cod sursa(job #758107)
#include<fstream>
#define maxn 6000001
using namespace std;
int n,front=1,back=1;
int a[maxn],sum[maxn],best[maxn];
ifstream f("ssm.in");
ofstream g("ssm.out");
void citire(){
f>>n;
int x;
for(int i=1;i<=n;i++){
f>>x;
sum[i]=sum[i-1]+x;
}
}
int cautare(){
int bestSum=-maxn,min=0,k=1;
for(int i=1;i<=n;i++){
best[i]=sum[i]-min;
if(min>best[i]){
min=best[i];
k=i+1;
}
if(bestSum<best[i]){
bestSum=best[i];
front=k;
back=i;
}
}
return bestSum;
}
int main(){
citire();
cautare();
g<<cautare()<<' '<<front<<' '<<back;
g.close();
return 0;
}