#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
struct node{int nth;double v[4];int rank[4];};
int main(){
int n,m;cin>>n>>m;
vector<node>vn(n);
for(int i=0;i<n;++i){
int people; auto &x=vn[i];
x.nth=i;
cin>>x.v[0]>>x.v[1]>>people;
x.v[2]=x.v[0]/people;
x.v[3]=x.v[1]/people;
}
for(int i=0;i<4;++i){
sort(vn.begin(),vn.end(),[=](const node&x,const node&y){return x.v[i]>y.v[i];});
for(int j=1;j<n;++j)
if(vn[j].v[i]==vn[j-1].v[i])
vn[j].rank[i]=vn[j-1].rank[i];
else vn[j].rank[i]=j;
}
sort(vn.begin(),vn.end(),[](const node&x,const node&y){return x.nth<y.nth;});
for(int i=0;i<m;++i){
int k;cin>>k;
auto mmin=min_element(begin(vn[k].rank),end(vn[k].rank));
if(i)cout<<' ';
cout<<*mmin+1<<':'<<mmin-begin(vn[k].rank)+1;
}
return 0;
}
PAT7-06. 奥运排行榜
最新推荐文章于 2023-12-17 10:09:04 发布