Cod sursa(job #2244772)
| Utilizator | Data | 23 septembrie 2018 17:17:44 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
const int MAXN = 7000005;
#define Max(a, b) (a > b ? a : b)
int main(void) {
int n, S;
int maxS = -int(2e9), sum = 0, j, last, idx;
fin >> n;
for (int i = 1; i <= n ; ++i)
{
fin >> S;
if (sum < 0){
sum = S;
idx = i;
}
else
sum += S;
if (maxS < sum){
maxS = sum;
j = idx;
last = i;
}
}
fout << maxS << " " << j << " " << last;
return 0;
}
