Cod sursa(job #2298684)
Utilizator | Data | 8 decembrie 2018 12:49:36 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#include <limits.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,mx=INT_MIN,i1,i,x,s,i2,i1mx;
int main(){
fin>>n;
i1=1;
for (i=1;i<=n;i++) {
fin>>x;
if (s+x>= x) {
s+=x;
}
else{
s=x;
i1=i;
}
if (s>mx) {
mx=s;
i1mx=i1;
i2=i;
}
}
fout<<mx<<" "<<i1mx<<" "<<i2;
return 0;
}