Pagini recente » Cod sursa (job #1618764) | Cod sursa (job #1894100) | Cod sursa (job #2650932) | Cod sursa (job #2355586) | Cod sursa (job #872922)
Cod sursa(job #872922)
#include <iostream>
#include <fstream>
#include <limits>
using namespace std;
int main()
{
ifstream ifs("ssm.in");
ofstream ofs("ssm.out");
int N;
ifs>>N;
int *m=new int[N];
for(int i=0;i<N;i++)
ifs>>m[i];
int *best=new int[N];
int maxsum=0;
int l=0,r=0;
best[0]=m[0];
for(int i=1;i<N;i++){
if(m[i]<best[i-1]+m[i]){
best[i]=m[i]+best[i-1];
r=i;
}
if(m[i]>best[i-1]+m[i]){
best[i]=m[i];
l=i;
}
if(best[i]>maxsum) maxsum=best[i];
}
// cout<<"l "<<l+1<<"\n";
// cout<<"r "<<r<<"\n";
// cout<<"m "<<maxsum<<"\n";
ofs<<maxsum<<" "<<l+1<<" "<<r;
return 0;
}
// -1 2 3 2 -5 -5 6 7 -5