Cod sursa(job #2479789)
Utilizator | Data | 24 octombrie 2019 15:57:44 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
using namespace std;
int a[6000001];
int i,j,n,s,Max,s1,s2,x;
int main() {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin>>n;
for (i=1;i<=n;i++) {
fin>>x;
s+=x;
a[i]=s;
if (s>Max) {
s1=1;
s2=i;
Max=s;
}
}
for (i=1;i<=n-1;i++) {
s=a[s2]-a[i-1];
if (s>Max) {
s1=i;
Max=s;
}
}
fout<<Max<<" "<<s1<<" "<<s2;
return 0;
}