Cod sursa(job #2819157)
| Utilizator | Data | 17 decembrie 2021 22:53:12 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
long long x, i, imx, imn, n, s[100001], best[100001], mn, bests;
s[0] = 0;
f>>n;
for (i = 1; i <= n; i++) {
f>>x;
s[i] = s[i - 1] + x;
}
mn = s[0];
bests = -4294967297;
for (i = 1; i <= n; i++) {
best[i] = s[i] - mn;
if (mn > s[i]) {
mn = s[i];
imn = i + 1;
}
if (bests < best[i]) {
bests = best[i];
imx = i;
}
}
cout<<bests<<" "<<imn<<" "<<imx;
return 0;
}
