1083 List Grades (25 分)【难度: 简单 / 知识点: 排序】

在这里插入图片描述
https://pintia.cn/problem-sets/994805342720868352/problems/994805383929905152

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
struct node
{
    
    
    string name,id;
    int score;
}Node[N];
vector<node>ans;
bool cmp(node a,node b) {
    
    return a.score>b.score;}
int n,st,ed;
int main(void)
{
    
    
    cin>>n;
    for(int i=0;i<n;i++) cin>>Node[i].name>>Node[i].id>>Node[i].score;
    sort(Node,Node+n,cmp);
    cin>>st>>ed;
    for(int i=0;i<n;i++)
    {
    
    
        if(Node[i].score>=st&&Node[i].score<=ed) ans.push_back(Node[i]);
    }
    if(ans.size())
    {
    
    
        for(int i=0;i<ans.size();i++) 
            printf("%s %s\n",ans[i].name.c_str(),ans[i].id.c_str());
    }else puts("NONE");
    return 0;
}

Guess you like

Origin blog.csdn.net/qq_46527915/article/details/121206757