Pagini recente » Cod sursa (job #2319980) | Cod sursa (job #1955963) | Cod sursa (job #1360571) | Cod sursa (job #1528731) | Cod sursa (job #873062)
Cod sursa(job #873062)
#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++){
int tmp=best[i-1]+m[i];
if(m[i]<tmp){
best[i]=tmp;
r=i;
}
if(m[i]>tmp && tmp!=0){
best[i]=m[i];
l=i;
}
if(m[i]==tmp){
l=i-1;
best[i]=tmp;
}
if(best[i]>maxsum)
maxsum=best[i];
}
// cout<<"l "<<l+1<<"\n";
// cout<<"r "<<r+1<<"\n";
// cout<<"m "<<maxsum<<"\n";
ofs<<maxsum<<" "<<l+1<<" "<<r+1;
return 0;
}