Result: Accepted
Time: 2ms
Memory: 1200kB
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
struct ss
{
char a[104];
int b;
int c;
}bb[1004];
int comp(const void*p,const void*q)
{
return (*(struct ss*)p).b>(*(struct ss*)q).b?-1:1;
}
int main()
{
int a,i,b,c=0,j,temp=0;
char d[104];
scanf("%d",&a);
for(i=0;i<a;++i)
{
c=0;
scanf("%s",&bb[i].a);
bb[i].a[strlen(bb[i].a)-1]='\0';
scanf("%d",&bb[i].b);
}
qsort(bb,a,sizeof(bb[0]),comp);
bb[0].c=1;
for(i=1;i<a;++i)
{
if(bb[i].b==bb[i-1].b)
{
bb[i].c=bb[i-1].c;
++temp;
}
else
{
bb[i].c=bb[i-1].c+1+temp;
temp=0;
}
}
scanf("%d",&b);
for(i=0;i<b;++i)
{
getchar();
scanf("%s",&d);
for(j=0;j<a;++j)
{
if(strcmp(d,bb[j].a)==0)
{
printf("%d\n",bb[j].c-1);
break;
}
}
}
}