#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) 回复
??
回复评论