Cod sursa(job #1993145)
| Utilizator | Data | 22 iunie 2017 14:33:18 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int main()
{
int x, n, suma=0, primul, ultimul, maxim=-6000000;
fin>>n;
for (int i=1;i<=n;++i)
{
if (suma<0)
{
suma=0;
primul=ultimul;
}
fin>>x;
if(!suma)
primul=i;
suma+=x;
if (suma>maxim)
{
maxim=suma;
ultimul=i;
}
}
fout<<maxim<<" "<<primul<<" "<<ultimul;
}
