Cod sursa(job #2721669)
Utilizator | Sichet Paul sichetpaul | Data | 12 martie 2021 08:24:11 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int N, le, ri, last;
int ans, sum;
int main()
{
fin >> N;
for (int i = 1; i <= N; ++i) {
int x;
fin >> x;
if (i == 1) sum = x, last = le = ri = 1;
else {
if (sum + x < x)
sum = x, last = i;
else sum += x;
if (sum > ans)
ans = sum, le = last, ri = i;
}
}
fout << ans << " " << le << " " << ri << '\n';
return 0;
}