Cod sursa(job #2671658)
Utilizator | Data | 12 noiembrie 2020 15:24:10 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.94 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
int n,s,smax,x,i1,i2,imax1,imax2,maxim,imaxim,i;
f>>n;
maxim=-20000000009;
i1=1;
i2=1;
for(i=1;i<=n;i++)
{
f>>x;
if(x>maxim)
{
maxim=x;
imaxim=i;
}
i2=i;
if(s<0)
{
s=0;
s=s+x;
i1=i;
if(s>smax)
{
smax=s;
imax1=i1;
imax2=i2;
}
}
else
{
s=s+x;
if(s>smax)
{
smax=s;
imax1=i1;
imax2=i2;
}
}
}
if(nrmax<0)
{
g<<maxim<<" "<<imaxim<<" "<<imaxim;
}
else
{
g<<smax<<" "<<imax1<<" "<<imax2;
}
return 0;
}