
#include<bits/stdc++.h> |
using namespace std; |
typedef struct node *Node; |
struct node |
{ |
int goldMadal;//金牌 |
int medal;//奖牌 |
int populous;//人口 |
}*Data; |
int n; |
int GoldTotal(int K) |
{ |
int Sum=Data[K].goldMadal; |
int Paimin=1; |
for(int i=0; i<n; i++) |
{ |
if(Data[i].goldMadal>Sum) |
Paimin++; |
} |
return Paimin; |
} |
int MedalTotal(int K) |
{ |
int Sum=Data[K].medal; |
int Paimin=1; |
for(int i=0; i<n; i++) |
{ |
if(Data[i].medal>Sum) |
Paimin++; |
} |
return Paimin; |
} |
int GoldPer(int K) |
{ |
double Sum=Data[K].goldMadal*1.0/Data[K].populous; |
int Paimin=1; |
for(int i=0; i<n; i++) |
{ |
if(Data[i].goldMadal*1.0/Data[i].populous>Sum) |
Paimin++; |
} |
return Paimin; |
} |
int MedalPer(int K) |
{ |
double Sum=Data[K].medal*1.0/Data[K].populous; |
int Paimin=1; |
for(int i=0; i<n; i++) |
{ |
if(Data[i].medal*1.0/Data[i].populous>Sum) |
Paimin++; |
} |
return Paimin; |
} |
int Min(int a,int b,int c,int d) |
{ |
int flag1,flag2,flag; |
if(a>b) |
{ |
a=b; |
flag1=2; |
} |
else flag1=1; |
if(c>d) |
{ |
c=d; |
flag2=4; |
} |
else flag2=3; |
if(a>c) |
{ |
a=c; |
flag=flag2; |
} |
else flag=flag1; |
cout<<a<<":"<<flag; |
return a; |
} |
int main() |
{ |
int m; |
cin>>n>>m; |
Data=(Node)malloc(sizeof(struct node)*n); |
for(int i=0; i<n; i++) |
cin>>Data[i].goldMadal>>Data[i].medal>>Data[i].populous; |
for(int i=0; i<m; i++) |
{ |
int con; |
cin>>con; |
if(i) |
cout<<" "; |
int gold=GoldTotal(con); |
int medal=MedalTotal(con); |
int pgold=GoldPer(con); |
int pmedal=MedalPer(con); |
Min(gold,medal,pgold,pmedal); |
} |
return 0; |
} |




by: 发表于:2018-05-28 15:24:23 顶(0) | 踩(0) 回复
??
回复评论