Result: Accepted
Time: 3ms
Memory: 1092kB
#include<stdio.h>
#include<string.h>
int main()
{
int j,i,n,m,o,max=0,t,xuhao,p=0;
char a[1000][101],b[1000];
int grade[1000],num[1000],mingci[1000];
scanf("%d",&n);
i=0;
while(i<n)
{
scanf("%s %d",a[i],&num[i]);
i++;
}
for(i=0;i<n;i++)
{
grade[i]=num[i];
}
for(j=n;j>0;j--)
{
max=0;
for(i=0;i<j;i++)
{
if(max<=grade[i])
{
max=grade[i];
xuhao=i;
}
}
t=grade[j-1];
grade[j-1]=grade[xuhao];
grade[xuhao]=t;
}
for(j=n-1;j>=0;j--)
{
for(i=0,p=0;i<n;i++)
{
if(num[i]==grade[j])
{
mingci[i]=n-j;
p++;
}
}
j=j-p+1;
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%s",b);
for(j=0;j<n;j++)
{
for(o=0;o<strlen(b);o++)
{
if(a[j][o]!=b[o])
{
break;
}
if(o==strlen(b)-1)
{
printf("%d\n",mingci[j]-1);
}
}
}
}
}