Result: Accepted
Time: 53ms
Memory: 1180kB
#include<stdio.h>
#include<string.h>
main()
{
int n,t;
int i,j,p,k;
char name[1001][101],nam[1001][101];
int score[1001],rank[1001];
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%s %d",name[i],&score[i]);
}
scanf("%d",&t);
for(i=0;i<t;++i)
scanf("%s",nam[i]);
for(i=0;i<n;++i){
rank[i]=1;
for(j=0;j<n;++j){
if(score[i]<score[j])
rank[i]++;
}
}
for(j=0;j<t;++j){
for(i=0;i<n;++i){
p=0;
for(k=0;k<strlen(nam[j]);++k)
if(nam[j][k]==name[i][k])
p++;
if(p==strlen(nam[j]) && p==strlen(name[i])-1)
printf("%d\n",rank[i]-1);
}
}
}