记录编号 |
33350 |
评测结果 |
AAAAAAAAAA |
题目名称 |
韩国明星 |
最终得分 |
100 |
用户昵称 |
TBK |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
2.697 s |
提交时间 |
2011-11-10 13:24:10 |
内存使用 |
30.40 MiB |
显示代码纯文本
#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iomanip>
using namespace std;
struct fun
{
char str[100];
long long x;
}f[200000]={0};
int a,b,c,d,l,m,n,k;
string s;
char ch[100000][100];
int Compare(const void *elem1,const void *elem2)
{
struct fun *elem3 = (struct fun *)elem1;
struct fun *elem4 = (struct fun *)elem2;
return strcmp(elem3->str,elem4->str);
}
int Compare1(const void *elem1,const void *elem2)
{
struct fun *elem3 = (struct fun *)elem1;
struct fun *elem4 = (struct fun *)elem2;
return elem4->x -elem3->x;
}
int main(void)
{
freopen ("star.in","r",stdin);
freopen ("star.out","w",stdout);
cin>>a;
for (b=0;b<a;b++) cin>>f[b].str;
cin>>c;
for (b=a;b<a+c;b++)
{
cin>>f[b].str;
cin>>f[b].x;
}
qsort(f,a+c,sizeof(fun),Compare);
k=0;
for (b=1;b<a+c;b++)
{
if (strcmp(f[k].str,f[b].str)==0) f[k].x+=f[b].x;
else
{
k++;
for (d=0;d<strlen(f[k-1].str);d++) f[k].str[d]='\0';
for (d=0;d<strlen(f[b].str);d++) f[k].str[d]=f[b].str[d];
f[k].x=f[b].x;
}
}
qsort(f,a,sizeof(fun),Compare1);
for (b=0;b<a;b++)
cout<<f[b].str<<endl<<f[b].x<<endl;
fclose(stdin);
fclose(stdout);
return 0;
}