Pagini recente » Cod sursa (job #191743) | Cod sursa (job #1591609) | Cod sursa (job #1467025) | Cod sursa (job #637868) | Cod sursa (job #1946076)
#include <fstream>
#define nmax 6000001
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[nmax];
int minim[nmax];
int n, start, finish, S;
void readData(){
int i, x;
fin>> n;
for(i=1; i<=n; i++){
fin>> x;
s[i]=s[i-1]+x;
}
}
void getSSM(){
int i;
minim[1]=1;
for(i=2; i<=n; i++)
if(s[i]<s[minim[i-1]]) minim[i]=i;
else minim[i]=minim[i-1];
for(i=1; i<=n; i++)
if(s[i]-s[minim[i]]> S){
S=s[i]-s[minim[i]];
start=minim[i]+1;
finish=i;
}
}
int main(){
int i;
readData();
getSSM();
// for(i=1; i<=n; i++)
// fout<< minim[i]<< " ";
fout<<S << " "<< start<< " "<< finish;
return 0;
}