Pagini recente » Cod sursa (job #2180464) | Cod sursa (job #2963774) | Cod sursa (job #2969568) | Cod sursa (job #1333683) | Cod sursa (job #1946074)
#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, end, 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;
end=i;
}
}
int main(){
int i;
readData();
getSSM();
// for(i=1; i<=n; i++)
// fout<< minim[i]<< " ";
fout<<S << " "<< start<< " "<< end;
return 0;
}