Cod sursa(job #2909584)
Utilizator | Data | 14 iunie 2022 11:06:59 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include<fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n,x,s,smax = -2000000000 ,st,dr , start;
///s=suma secventei care contine elem de la pasul i (si)
int main()
{
cin>>n;
start=1;
for(int i=1;i<=n;i++)
{
cin>>x;
if(s+x >= x)
{
s=s+x;
}
else
{
s=x;//incepe o secvanta noua cu elem de pe poz i
start=i;
}
if(s>smax)
{
smax=s;
st=start;
dr=i;
}
}
cout<<smax<<" "<<st<<" "<<dr;
return 0;
}