Pagini recente » Cod sursa (job #114785) | Cod sursa (job #943821) | Cod sursa (job #1971329) | Cod sursa (job #1304545) | Cod sursa (job #1277310)
#include <cstdio>
#include <climits>
using namespace std;
int v[50001];
int main()
{
FILE*fin,*fout;
fin=fopen("secv2.in","r");
fout=fopen("secv2.out","w");
int k,n,i,stmax=1,drmax=1,stcur=1,drcur=1;
fscanf(fin,"%d%d",&n,&k);
for(i=1;i<=n;i++)
fscanf(fin,"%d",&v[i]);
long long scur=0,smax=INT_MIN;
for(i=1;i<=n;i++)
{
if(scur+v[i]>=v[i])
{
scur+=v[i];
drcur=i;
}
else
{
if(drcur-stcur+1>=k)
{
scur=v[i];
stcur=drcur=i;
}
else
{
scur+=v[i];
drcur=i;
}
}
if(drcur-stcur+1>=k && smax<scur)
{
stmax=stcur;
drmax=drcur;
smax=scur;
}
}
fprintf(fout,"%d %d %d",stmax,drmax,smax);
return 0;
}