Pagini recente » Cod sursa (job #2103062) | Cod sursa (job #1700515) | Cod sursa (job #3124019) | Cod sursa (job #517766) | Cod sursa (job #2783349)
#include <stdio.h>
#include <stdlib.h>
int v2[100000],v3[100000];
int main()
{
FILE *fin,*fout;
int n,maxj,k,i,j,max,x,dreapta,stanga,mijloc,y;
fin=fopen("schi.in","r");
fscanf(fin,"%d",&n);
max=-1;
j=-1;
for(i=0;i<n;i++){
fscanf(fin,"%d",&x);
if(x>max){
max=x;
j++;
v3[j]=x;
v2[j]=1;
}else{
v2[j]++;
}
}
maxj=j;
fscanf(fin,"%d",&k);
fout=fopen("schi.out","w");
for(j=0;j<k;j++){
fscanf(fin,"%d",&y);
dreapta=maxj+1;
stanga=0;
while(dreapta-stanga>1){
mijloc=(stanga+dreapta)/2;
if(v3[mijloc]>y){
dreapta=mijloc;
}else{
stanga=mijloc;
}
}
if(v3[stanga]==y){
fprintf(fout,"%d ",v2[stanga]);
}else{
fprintf(fout,"0 ");
}
}
fclose(fin);
fclose(fout);
return 0;
}