Cod sursa(job #2168115)
| Utilizator | Data | 14 martie 2018 09:38:14 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{ int n,i,s,smax,lgmax,lg,x,ult;
fin>>n>>x;
s=smax=x;lg=lgmax=1;ult=1;
for(i=2;i<=n;++i)
{fin>>x;
if(s>0)
{s+=x;lg++;
if(s>smax){smax=s;lgmax=lg;ult=i;}
else if(s==smax)if(lg<lgmax){lgmax=lg;ult=i;}
}
else
{s=x;lg=1;
if(s>smax){smax=s;lgmax=lg;ult=i;}
else if(s==smax)if(lg<lgmax){lgmax=lg;ult=i;}
}
}
fout<<smax<<" "<<ult-lgmax+1<<" "<<ult;
return 0;
}
