Pagini recente » Cod sursa (job #1712910) | Cod sursa (job #2891135) | Cod sursa (job #2502736) | Cod sursa (job #362532) | Cod sursa (job #542707)
Cod sursa(job #542707)
#include<fstream>
#include<cstdio>
using namespace std;
int s[50002];//a[50002];
int main()
{
int i,n,k,smax=-2000000000,x,lim,suma=0,st,dr;
freopen("secv2.in","r",stdin);
scanf("%d",&n);
scanf("%d",&k);
int inc=1,sf=k;
for(i=1;i<=n;i++)
{
/*fin>>a[i];
s[i]=s[i-1]+a[i];*/
scanf("%d",&x);
s[i]=s[i-1]+x;
}
/*//Parcurgere inceput -> sfarsit
st=1;
dr=k;
lim=n+1;
while(st<lim && dr<lim)
{
suma=s[dr]-s[st-1];
if(suma>smax)
{
smax=suma;
inc=st;
sf=dr;
}
if(dr<n)
dr++;
if(a[st]<1 || dr==n)
st++;
}
//Parcurgere sfarsit -> inceput
st=n-k+1;
dr=n;
while(st>=0 && dr>=0)
{
suma=s[dr]-s[st-1];
if(suma>smax)
{
smax=suma;
inc=st;
sf=dr;
}
if(st>0)
st--;
if(a[dr]<1 || st==0)
dr--;
}*/
lim=n-k+2;
for(st=1;st<lim;st++)
for(dr=st+k-1;dr<n+1;dr++)
{
suma=s[dr]-s[st-1];
if(suma>smax)
{
smax=suma;
inc=st;
sf=dr;
}
}
ofstream fout("secv2.out");
fout<<inc<<' '<<sf<<' '<<smax<<"\n";
fout.close();
return 0;
}