高级天翼
题目链接: 酷町堂:1289
1289 上座数(order)
经验值:800 时间限制:1000毫秒
安徽省2013年信息学竞赛试题(小学组)
不许抄袭,一旦发现,直接清空经验!
题目描述 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。
#include<iostream>
#include<bits/stdc++.h>
#include<cstdio> //头文件
using namespace std;
long long c,maxn=-1,minn=10000000,n,m,a[10002],maxa=-1,mina=1000,b[1002],maxc=-1,p,q,cntmx,cntmn,cnt;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
for(int i=1;i<=m;i++){
if(a[i]==a[n]){
cnt++;
}
}
cout<<a[n]<<' '<<cnt;
return 0;
}
50分???
缔造者之神
for(int i=0;i<=100;i++)
{
if(b[i]>=1) m--;
if(m==0)
{
cout<<i<<" "<<b[i];
break;
}
}
超简单的桶啊!