Cod sursa(job #2729666)
| Utilizator | Data | 25 martie 2021 08:33:38 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int N;
int maxim = INT_MIN;
int start, finish, index;
int suma = 0;
void citire()
{
fin>>N;
int x;
for(int i=1; i<=N; i++)
{
fin>>x;
if (i == 1)
{
suma = x;
}
else
{
if(x > suma + x)
start = i;
suma = max(suma + x, x);
}
if(suma > maxim)
{
maxim = suma;
finish = i;
index = start;
}
}
fout<<maxim<<" "<<index<<" "<<finish<<"\n";
}
int main()
{
citire();
return 0;
}
