Pagini recente » Cod sursa (job #930213) | Cod sursa (job #74027) | Cod sursa (job #22913) | Cod sursa (job #2398917) | Cod sursa (job #1312690)
#include <stdio.h>
#define DIM 10000
FILE *fin,*fout;
char buff[DIM];
int poz=0;
void citeste(int &numar)
{
numar = 0;
char semn='+';
while (buff[poz] < '0' || buff[poz] > '9')
{
semn = buff[poz];
if (++poz == DIM)
fread(buff,1,DIM,fin),poz=0;
}
while ('0'<=buff[poz] && buff[poz]<='9')
{
numar = numar*10 + buff[poz] - '0';
if (++poz == DIM)
fread(buff,1,DIM,fin),poz=0;
}
if (semn == '-')
numar = -numar;
}
int a[50001],su[50001];
int main()
{
fin=fopen("secv2.in","r");
fout=fopen("secv2.out","w");
int n,k;
citeste(n);
citeste(k);
citeste(a[0]);
su[0]=a[0];
for(int i=1;i<n;i++)
{
citeste(a[i]);
su[i]=su[i-1]+a[i];
}
int s=0,maxim=-1250000000;
int post=0,posti;
for(int i=0;i<=n-k;i++)
{
s=0;
s=su[i+k-1]-su[i-1];
if(maxim<s)
{
maxim=s;
post=i+k;
posti=i+1;
}
for(int j=i+k;j<n;j++)
{
s=su[j]-su[i-1];
if(maxim<s)
{
maxim=s;
post=j+1;
posti=i+1;
}
}
}
fprintf(fout,"%d %d %d",posti,post,maxim);
}