Pagini recente » Cod sursa (job #686823) | Cod sursa (job #2583905) | Cod sursa (job #349278) | Cod sursa (job #2838390) | Cod sursa (job #110480)
Cod sursa(job #110480)
#include<stdio.h>
FILE *f=fopen("secventa.in","r"),*g=fopen("secventa.out","w");
long n,k,d[500000],r1,l1;
int x,max=-31000,v[500000];
void go()
{
long l=0,r=0;
for(long i=2;i<=n;i++)
{fscanf(f,"%d",&x);
v[i]=x;
while(r>=0&&v[d[r]]>x)
r--;
d[++r]=i;
if(l>r) l=r;
while(d[l]<=d[r]-k)
l++;
if(max<v[d[l]])
{max=v[d[l]];
r1=d[l];
}
}
}
void ct1()
{
fscanf(f,"%ld%ld%d",&n,&k,&x);
}
int main()
{
ct1();
d[0]=1;
v[1]=x;
go();
l1=r1;
while(v[r1]<=v[l1]) l1--;
fprintf(g,"%ld %ld %d",l1+1,l1+k,max);
return 0;
}