Pagini recente » Cod sursa (job #2310425) | Cod sursa (job #1033563) | Cod sursa (job #405094) | Cod sursa (job #1123094) | Cod sursa (job #277092)
Cod sursa(job #277092)
#include <stdio.h>
#define nmax 50//0005
int a[nmax],c[nmax];
int in,sf,bz;
char s[nmax*2+2];
FILE *f,*g;
int main()
{
long n,k,i,st,semn,j;
f=fopen("secventa.in","rt");
g=fopen("secventa.out","wt");
fscanf(f,"%ld %ld\n",&n,&k);
for (i=1;i<=n;i++)
fscanf(f,"%d",&a[i]);
/* fgets(s,nmax*2+2,f);
i=0;
semn=1;
j=0;
while (s[i])
{
if (s[i]=='-')
semn=-1;
else
if (s[i]>='0'&&s[i]<='9')
{a[++j]=(s[i]-'0')*semn;semn=1;}
i++;
}*/
bz=-30009;
in=1;sf=0;
for (i=0;i<n;i++)
{
while (a[c[sf]]>a[i]&&sf>=in)sf--;
c[++sf]=i;
while (c[in]<i-k+1) in++;
if ( a[c[in]]> bz && i-k+1 >= 0)
{
bz = a[c[in]];
st = i-k+1;
}
}
fprintf(g, "%ld %ld %d\n", st+1, st+k, bz);
fcloseall();
return 0;
}