题目描述
小 XX 参加了一场作文比赛的初赛。算上小 XX ,他的学校一共有 �n 个人参加了这场比赛。一个礼拜后,小 XX 兴奋地打开比赛官网,发现一等奖、二等奖、三等奖的分数线和所有人的得分都已经公布了,但没有提到获得什么奖项才能进入复赛。小 XX 想问问你,如果要获得了 �A 等奖才能进入复赛的话,他的学校有多少人能进入复赛呢?
假设 �A 等奖的分数线是 �x,一个人的分数是 �y,那么如果 �y 大于等于 �x,这个人就获得了 �A 等奖。
输入格式
输入数据共有四行。
第一行一个正整数 �n,表示小 XX 的学校一共有 �n 个人参加了比赛。
第二行 �n 个正整数,表示小 XX 的学校中所有人的得分。
第三行三个正整数 �3,�2,�1L3,L2,L1,分别表示三等奖、二等奖、一等奖的分数线。
第四行一个正整数 �A,表示要获得了 �A 等奖才能进入复赛。
输出格式
输出一行包含一个整数,表示有多少人进入复赛。
输入输出样例
输入 #1复制
4 99 101 200 300 100 200 300 2
输出 #1复制
2
说明/提示
样例解释:
第一个人 9999 分,没有奖项;
第二个人 101101 分,获得了三等奖;
第三个人 200200 分,获得了三等奖、二等奖;
第四个人 300300 分,获得了三等奖、二等奖、一等奖;
一共有 22 个人获得了二等奖,所以有 22 个人进入复赛。
数据范围:
本题共有 1010 个测试点,每个测试点 88 分。
对于全部数据:所有人的得分 ≤1000≤1000,�3≤�2≤�1≤1000L3≤L2≤L1≤1000,�A 是 {1,2,3}{1,2,3} 中的一个;
对于测试点 1∼21∼2:�=1n=1;
对于测试点 3∼63∼6:�<=10n<=10;
对于测试点 7∼107∼10:�<=10000n<=10000。
注:本题采用民间数据。
《民间数据》
上代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,A;//n个人,A等奖
int line[4],score[10010];//分数线,每个人的分数
cin>>n;
for(int i=1;i<=n;i++) cin>>score[i];
for(int i=3;i>=1;i--) cin>>line[i];//注意这里是从三等奖到一等奖输入
cin>>A;//处理输入
int ans=0;//结果
for(int i=1;i<=n;i++){
if(score[i] >= line[A]) ans ++;
}//只要大于A等奖分数线的,统统算上
cout<<ans<<endl;//输出
return 0;
}
洛谷可以过。
再见。