Pagini recente » Istoria paginii utilizator/olarugeorgiana | Cod sursa (job #2289403) | Istoria paginii runda/david_oji_yay | Cod sursa (job #834381) | Cod sursa (job #127484)
Cod sursa(job #127484)
#include<stdio.h>
long int n,k,i,x[500001],pbaza,baza,fr[60002],j,ps,pf,vb,p1,p2;
int main()
{
FILE *f,*g;f=fopen("secventa.in","r");g=fopen("secventa.out","w");
fscanf(f,"%ld%ld",&n,&k);
for(i=1;i<=n;i++){ fscanf(f,"%ld",&x[i]);x[i]+=30000;}
pbaza=1;baza=x[1];fr[x[1]]++;
for(i=2;i<=k;i++)
{ if(x[i]>baza)fr[x[i]]++;
else
{ for(j=pbaza;j<i;j++)fr[x[j]]--;
pbaza=i;baza=x[i];fr[x[i]]++;
}
}
ps=1;pf=k;vb=baza;
p1=pbaza;p2=p1+k-1;
for(i=k+1;i<=p2;i++)
{ if(x[i]<baza)x[i]=baza;
fr[x[i]]++;
}
while(p2<n)
{ p2++;if(x[p2]<baza)x[p2]=baza;
fr[x[p2]]++;
fr[x[p1]]--;
p1++;
if(!fr[baza])
{ while(!fr[baza])baza++;ps=p1;pf=p2;vb=baza;}
}
vb-=30000;
fprintf(g,"%ld %ld %ld\n",ps,pf,vb);
fcloseall();
return 0;
}