Cod sursa(job #1810221)
| Utilizator | Data | 19 noiembrie 2016 19:15:58 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.72 kb |
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int sum[50001],minim[50001],pozmin[50001];
int main()
{
int n,i,x,k,smax=-26000,inds,indf;
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>x;
sum[i]=sum[i-1]+x;
if(minim[i-1]>sum[i])
{
minim[i]=sum[i];
pozmin[i]=i;
}
else
{
minim[i]=minim[i-1];
pozmin[i]=pozmin[i-1];
}
}
for(i=k;i<=n;i++)
if(smax<sum[i]-minim[i-k])
{
smax=sum[i]-minim[i-k];
inds=pozmin[i-k]+1;
indf=i;
}
fout<<inds<<' '<<indf<<' '<<smax;
return 0;
}
