Cod sursa(job #2910354)
| Utilizator | Data | 19 iunie 2022 19:54:38 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 45 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("ssm.in");
ofstream o("ssm.out");
int v[100000], n;
f>>n;
for(int i=1;i<=n;i++)
{
f>>v[i];
}
int bs = -1000000;
int min = 0;
int id, start, end;
for(int i=1;i<=n;i++)
{
v[i] += v[i-1];
if(bs<v[i]-min)
{
bs = v[i] - min;
start = id+1;
end=i;
}
if(min>v[i])
{
min = v[i];
id=i;
}
}
o<<bs<<" "<<start<<" "<<end;
f.close();
o.close();
return 0;
}
