Pagini recente » Cod sursa (job #1858037) | Cod sursa (job #2116589) | Cod sursa (job #1805254) | Cod sursa (job #1075841) | Cod sursa (job #758108)
Cod sursa(job #758108)
#include<fstream>
#define maxn 6000001
#define inf 9999999999
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(){
long long bestSum=-inf,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;
}