Pagini recente » Cod sursa (job #1058980) | Rating Matica Florian-Alexandru (alxutzu23) | Cod sursa (job #2230738) | Istoria paginii admin/yagenazac | Cod sursa (job #531184)
Cod sursa(job #531184)
#include<stdio.h>
#define dim 500005
using namespace std;
int A[dim],n,k,i,max=-dim,deque[dim],front,back,ii;
int main()
{
FILE *f=fopen("secventa.in","r"), *g=fopen("secventa.out","w");
fscanf(f,"%d %d",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%d",&A[i]);
front=1;
back=0;
for(i=1;i<=n;i++)
{
while(front <= back && A[ i ] <= A[ deque[ back ] ] )
back--;
deque[++back]=i;
if(deque[ front ] == i-k)
front++;
if(i>=k && A[ deque[ front ] ] > max )
{
max=A[ deque[ front ] ];
ii=i-k+1;
}
}
for(i=ii;i<=ii+k-1;i++)
fprintf(g,"%d ",A[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}