Cod sursa(job #2893614)
| Utilizator | Data | 26 aprilie 2022 13:47:07 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <bits/stdc++.h>
using namespace std;
int n, k, S, l, MAX, st, dr;
int main ()
{
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin >> n >> k;
S = k;
l = 1;
MAX = S;
st = 1;
dr = 1;
for(int i = 2;i <= n; i++) {
fin >> k;
if(k + S >= k)
S += k;
else {
S = k;
l = i;
}
if (S > MAX) {
MAX=S;
st=l;
dr=i;
}
}
fout << MAX << " " << st << " " << dr;
return 0;
}