【1083 25 值域】 List Grades
传送门
题意
给定\(n\)个学生,每个学生有\(name,id,grade\),给定查询区间\([l,r]\),求成绩在区间内的所有学生
数据范围
\(grade\iin [0,100]\)
题解
- 在值域开变长数组
vector即可
Code
#include<bits/stdc++.h>
using namespace std;
struct node{
string name,id;
int grade;
};
int main(){
vector<node>all[110];
int n; cin>>n;
for(int i=0;i<n;i++){
node t;
cin>>t.name>>t.id>>t.grade;
all[t.grade].push_back(t);
}
int l,r; cin>>l>>r;
int cnt=0;
for(int i=r;i>=l;i--)
for(auto it:all[i]) cout<<it.name<<' '<<it.id<<endl,++cnt;
if(!cnt) cout<<"NONE";
}

浙公网安备 33010602011771号