Cod sursa(job #2493066)
Utilizator | Ana Baltaretu anisca22 | Data | 15 noiembrie 2019 21:33:04 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <bits/stdc++.h>
#define NMAX 6000005
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long long N, Smin, Smax, lastMin, indMin, indMax, partialSum;
int main()
{
fin >> N;
for (int i = 1; i <= N; i++)
{
long long val;
fin >> val;
partialSum += val;
if (partialSum < Smin)
{
Smin = partialSum;
lastMin = i + 1;
}
else if (partialSum - Smin > Smax)
{
Smax = partialSum - Smin;
indMin = lastMin;
indMax = i;
}
}
fout << Smax << " " << indMin << " " << indMax;
return 0;
}