Cod sursa(job #2801879)
| Utilizator | Data | 16 noiembrie 2021 23:49:17 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.94 kb |
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int main()
{
int n=0,nr=0,i=0,poz1=0,poz2=0,st=0,dr=0,ant=0,elem1=0,elem2=0,elem3;
long long mx=-2000000000000007*6;
cin>>n;
for(i=1; i<=n; i++)
{
elem3=0;
cin>>nr;
if(nr+ant>=nr)
{
ant=nr+ant;
poz2=i;
elem3=elem2+1;
elem2=elem3;
}
else
{
ant=nr;
poz1=poz2=i;
elem3=1;
elem2=1;
}
if(ant>mx)
{
mx=ant;
st=poz1;
dr=poz2;
elem1=elem3;
}
else if(mx==ant && elem3<elem1)
{
mx=ant;
st=poz1;
dr=poz2;
elem1=elem3;
}
}
if(st==0)
st=1;
cout<<mx<<" "<<st<<" "<<dr;
return 0;
}
