#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;
struct stu{
string stuid;
int gp,gm,gf,g;
};
bool cmp(struct stu &a,struct stu &b){
return a.g!=b.g?a.g>b.g:a.stuid<b.stuid;
}
int main(){
int p,m,n;
cin>>p>>m>>n;
vector<stu> v;
map<string,int> mp;
int score,index=1; //index从1开始
string id;
for(int i=0;i<p;i++){
cin>>id>>score;
if(score>=200){
v.push_back(stu{id,score,-1,-1,0});
mp[id]=index++; //记录v中id的下标
}
}
for(int i=0;i<m;i++){
cin>>id>>score;
if(mp[id]!=0) v[mp[id]-1].gm=score;
}
for(int i=0;i<n;i++){
cin>>id>>score;
if(mp[id]!=0){
index=mp[id]-1;
v[index].g=v[index].gf=score;
if(v[index].gm>v[index].gf)
v[index].g=(int)(v[index].gm*0.4+v[index].gf*0.6+0.5);
}
}
vector<stu> ans;
for(int i=0;i<v.size();i++)
if(v[i].g>=60) ans.push_back(v[i]);
sort(ans.begin(),ans.end(),cmp);
for(int i=0;i<ans.size();i++)
cout<<ans[i].stuid<<" "<<ans[i].gp<<" "<<ans[i].gm<<" "<<ans[i].gf<<" "<<ans[i].g<<endl;
return 0;
}
01-13
92
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-25
537
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)