Cod sursa(job #2754629)
Utilizator | Linca Mihaela Amalia Linca_Amalia | Data | 26 mai 2021 10:11:40 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, i, sol1, sol2, start, v[6000005];
long long maxim, ssm;
int main(){
fin >> n;
for (i = 1; i <= n; i++)
fin >> v[i];
ssm = v[1];
start = 1;
maxim = ssm;
sol1 = sol2 = 1;
for (i = 2; i <= n; i++){
if ( v[i] + ssm >= v[i] )
ssm = v[i] + ssm;
else{
ssm = v[i];
start = i;
}
if ( ssm > maxim ){
maxim = ssm;
sol1 = start;
sol2 = i;
}
}
fout << maxim << " " << sol1 << " " << sol2;
return 0;
}