Pagini recente » Cod sursa (job #1179541) | Cod sursa (job #332148) | Cod sursa (job #2000591) | Cod sursa (job #102048) | Cod sursa (job #377170)
Cod sursa(job #377170)
#include <fstream>
using namespace std;
const char InFile[] = "ssm.in";
const char OutFile[] = "ssm.out";
const int MAXN = 7000005;
int n,s[MAXN];
FILE *f;
int Max(int a, int b){
if(a>b){return a;}else{return b;}
}
int main(void) {
ifstream fin(InFile);
fin>>n;
for(register int i=1;i<=n;++i){
fin>>s[i];
s[i]+=s[i-1];
}
int bestSum=-2000000000,min2=0,idx=0,st=0,sf=0;
for(register int i=1;i<=n;++i) {
if(bestSum<s[i]-min2){
bestSum=s[i]-min2;
st=idx+1;
sf=i;
}
if(min2>s[i]){
min2=s[i],idx=i;
}
}
ofstream fout(OutFile);
fout<<bestSum<<" "<<st<<" "<<sf;
fout.close();
fin.close();
return 0;
}