Cod sursa(job #2170877)
| Utilizator | Data | 15 martie 2018 10:11:34 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.78 kb |
#include <fstream>
using namespace std;
ifstream f ("ssm.in");
ofstream g ("ssm.out");
int v[6000001],n,st,dr,stx;
long long s,mare;
int main()
{
f>>n;
mare=-2e9;
for(int i=1;i<=n;++i)
{
f>>v[i];
if(1ll*v[i]>mare)
{
st=i;
dr=i;
mare=1ll*v[i];
}
}
stx=1;
for(int i=1;i<=n;++i)
{
s+=v[i];
if(s<0)
{
stx=i+1;
s=0;
continue;
}
if(s>mare)
{
st=stx;
dr=i;
mare=s;
}
}
g<<mare<<' '<<st<<' '<<dr;
return 0;
}
