高级光能
1289 上座数(order)
题目描述 Description
卡卡西终于如愿以偿的破解难题,获得了“魔境仙踪”的电影券。晚上,卡卡西迫不及待的跟着妈妈早早的去了影院。这个影院真是大,上下100层,每一层又有很多的放映厅。忽然,卡卡西发现有一位叔叔正在放映厅门口来回踱步,眉头紧皱着,像是有难题要解决。卡卡西向前询问情况。那位叔叔说:“小朋友,我是这家影院的经理。我们这个影院有很多个放映厅,每个放映厅观众坐满时能容下100人,不开放或没有观众时相当于观众数为0。现在想统计一下,当前时间,影院中所有放映厅的上座数(即观众数的多少),并且计算排名倒数第N位的放映厅的上座人数,以及有多少个放映厅并列排名倒数第N位。”卡卡西想了想,对叔叔笑了笑,拍拍胸脯说:“叔叔,你别急,我来帮你解决这个问题。”亲爱的同学们,你们能帮助卡卡西,让她尽早解决问题,观看电影吗?
输入描述 Input Description
共三行,第一行共一个数N(0<N≤100),表示影院经理想知道的放映厅上座数排名倒数第N位;第二行共一个数S(0<S≤100000),表示该影院总的放映厅个数,第三行共S个数,对应S个放映厅的上座数,上座数最少为0,最大为100,各个放映厅的上座数分别用空格分开,上座数相同视为并列。
输出描述 Output Description
共一行,共有两个数,分别表示上座数排名倒数第N位放映厅的上座数和具有该上座数的放映厅的个数(中间用空格隔开)。
样例输入 Sample Input
3
8
8 7 4 90 18 86 99 86
样例输出 Sample Output
8 1
数据范围及提示 Data Size & Hint
输入第一行为3,表示现在想知道上座数排名倒数第3位的放映厅的上座数,输入第二行为8,表示该影院共有8个放映厅,输入第三行表示这8个放映厅的上座数分别为8 7 4 90 18 86 99 86。输出一行,8表示上座数排名倒数第3名的放映厅的上座数为8,而上座数同为8(即并列排名倒数第3位的)放映厅共1个。
40%的数据1≤N≤100。
60%的数据1≤N≤1000。
100%的数据1≤N≤100000。
数据来源 Source
2013安徽省信息学竞赛(小学组)第二题
1289 上座数(order)
题目描述 Description
卡卡西终于如愿以偿的破解难题,获得了“魔境仙踪”的电影券。晚上,卡卡西迫不及待的跟着妈妈早早的去了影院。这个影院真是大,上下100层,每一层又有很多的放映厅。忽然,卡卡西发现有一位叔叔正在放映厅门口来回踱步,眉头紧皱着,像是有难题要解决。卡卡西向前询问情况。那位叔叔说:“小朋友,我是这家影院的经理。我们这个影院有很多个放映厅,每个放映厅观众坐满时能容下100人,不开放或没有观众时相当于观众数为0。现在想统计一下,当前时间,影院中所有放映厅的上座数(即观众数的多少),并且计算排名倒数第N位的放映厅的上座人数,以及有多少个放映厅并列排名倒数第N位。”卡卡西想了想,对叔叔笑了笑,拍拍胸脯说:“叔叔,你别急,我来帮你解决这个问题。”亲爱的同学们,你们能帮助卡卡西,让她尽早解决问题,观看电影吗?
输入描述 Input Description
共三行,第一行共一个数N(0<N≤100),表示影院经理想知道的放映厅上座数排名倒数第N位;第二行共一个数S(0<S≤100000),表示该影院总的放映厅个数,第三行共S个数,对应S个放映厅的上座数,上座数最少为0,最大为100,各个放映厅的上座数分别用空格分开,上座数相同视为并列。
输出描述 Output Description
共一行,共有两个数,分别表示上座数排名倒数第N位放映厅的上座数和具有该上座数的放映厅的个数(中间用空格隔开)。
样例输入 Sample Input
3
8
8 7 4 90 18 86 99 86
样例输出 Sample Output
8 1
数据范围及提示 Data Size & Hint
输入第一行为3,表示现在想知道上座数排名倒数第3位的放映厅的上座数,输入第二行为8,表示该影院共有8个放映厅,输入第三行表示这8个放映厅的上座数分别为8 7 4 90 18 86 99 86。输出一行,8表示上座数排名倒数第3名的放映厅的上座数为8,而上座数同为8(即并列排名倒数第3位的)放映厅共1个。
40%的数据1≤N≤100。
60%的数据1≤N≤1000。
100%的数据1≤N≤100000。
数据来源 Source
2013安徽省信息学竞赛(小学组)第二题
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,s,ans=0,a[100010];
cin>>n>>s;
for (int i=1;i<=s;i++)
{
cin>>a[i];
}
sort(a+1,a+1+n);
cout<<a[n]<<' ';
for (int i=1;i<=s;i++)
{
if (a[i]==a[n])
ans++;
}
cout<<ans;
return 0;
}
初级光能
int s,n,a[110],i;
cin>>s>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
count[a[i]]++;
}
qsort(a,1,n);
cout<<a[s]<<" "<<count[a[s]];//这是主程序,我用快排