Examination | ||||||
| ||||||
Description | ||||||
There are n classes in Mr Li’s grade.And each class have m student..The last examination’s ranked results have been finished.Now Mr Li wants to know the score of the student who got the kth place. | ||||||
Input | ||||||
Each test case have three integers n,m,k(1<=n<=10,1<=m<=100, 1<=k<=n*m) in the first line.Then,there are n lines,one line indicating the scores of one class.Each line contains m positive integers. | ||||||
Output | ||||||
For each test case,first print a line saying “Scenario #k”,where k is the number of the test case.Then,output one integer the score of student who are placed kth,in one line.Print a blank line after each test case,even after the last one. | ||||||
Sample Input | ||||||
2 4 4 90 87 98 59 78 67 88 99 | ||||||
Sample Output | ||||||
Scenario #1 88 |
这个题目解释一下题目意思就好了,一个老师有n个班级,每个班级有m个学生,最好要找出成绩第k高的学生就好了。题目本身没什么难度,喵就直接上sort了(因为懒得写冒泡,直接调用c++标准库的快排函数)。一下是代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<iostream>
using namespace std;
int main(){
int m,n,k;
int Case=1;
while(cin>>n>>m>>k){
int gra[m*n];
for(int i=0;i<m*n;i++){
cin>>gra[i];
}
sort(gra,gra+m*n);
cout<<"Scenario #"<<Case++<<"\n"<<gra[m*n-k]<<"\n\n";
}
}