#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student
{
char name[12];
int title;
int time;
}stu[1001];
int cmp(const void* a,const void* b)
{
struct student* c=(struct student*)a;
struct student* d=(struct student*)b;
if(c->title>d->title)
return -1;
else if(c->title<d->title)
return 1;
else if(c->time>d->time)
return 1;
else if(c->time<d->time)
return -1;
else if(strcmp(c->name,d->name)>0)
return 1;
else
return -1;
}
int main()
{
int n,m,mm;
int i=0,j;
char a[11];
int h,ti,num;
scanf("%d%d",&n,&m);
while(scanf("%s",stu[i].name)!=EOF)
{
stu[i].title=0;
stu[i].time=0;
for(j=0;j<n;j++)
{
scanf("%s",a);
h=sscanf(a,"%d(%d)",&ti,&num);
if(h==2)
{
stu[i].title++;
stu[i].time=stu[i].time+ti+num*m;
}
else if(h==1)
{
if(ti>0)
{
stu[i].title++;
stu[i].time=stu[i].time+ti;
}
}
}
i++;
}
mm=i;
qsort(stu,i,sizeof(stu[0]),cmp);
for(i=0;i<mm;i++)
printf("%-10s %2d %4d\n",stu[i].name,stu[i].title,stu[i].time);
return 0;
}
~~~~~~~~~