【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";
}
posted @ 2021-03-06 15:51  Hyx'  阅读(52)  评论(0)    收藏  举报