Cod sursa(job #2457579)
Utilizator | Negrean Victor Kernelovic | Data | 18 septembrie 2019 09:42:16 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 70 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
#include <iostream>
#include <cstdio>
#include <climits>
using namespace std;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int n, nr;
int maxim = INT_MIN, sum = 0, indiceMin, indiceMax, aux;
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> nr;
if (sum < 0)
{
sum = nr;
aux = i;
}
else sum += nr;
if (maxim < sum)
{
maxim = sum;
indiceMin = aux;
indiceMax = i;
}
}
cout << maxim << " " << indiceMin + 1 << " " << indiceMax + 1;
}