洛谷 P1068 分数线划定

世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才, AA 市对

所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根

据计划录取人数的 150\%150% 划定,即如果计划录取 mm 名志愿者,则面试分数线为排名第 m \times 150\%m×150%

(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有

选手。

现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成

绩。

 

输入描述(Input description)1

6 3 
1000 90 
3239 88 
2390 95 
7231 84 
1005 95 
1001 88

 

输出描述(Output description)1

88 5 
1005 95 
2390 95 
1000 90 
1001 88 
3239 88 

 

结构体+排序即可

Code:

#include
#include
using namespace std;
struct information{
    int id,grade;
};
information a[10000000];
bool cmp(information x,information y){
    if(x.grade!=y.grade) return x.grade>y.grade;
    else return x.id }
int main(){
     int n,m,i;
     cin>>n>>m;
     for(i=1;i<=n;i++)
         cin>>a[i].id>>a[i].grade;
     sort(a+1,a+1+n,cmp);
     m=m*1.5;
    int line,ans=0;
    line=a[m].grade;
    for(i=1;a[i].grade>=line;i++)
        ans++;
    cout<     for(i=1;i<=ans;i++)
        cout<     return 0;   
}

你可能感兴趣的:(C++题目)