P14970 『GTOI - 2A』睡眠质量题解
P14970 『GTOI - 2A』睡眠质量
题目背景
小 H 觉得睡眠的时间长短是一件很重要的事情。
题目描述
现在给你他 nnn 天的睡眠时间,aia_iai 为他第 iii 天的睡眠时间。保证 0≤ai≤240 \leq a_i \leq 240≤ai≤24 且 aia_iai 为整数。
对于第 iii 天的睡眠时间:
- 如果 ai≥12a_i \ge 12ai≥12,则他当天的睡眠质量为极好。
- 如果 9≤ai≤119 \leq a_i \leq 119≤ai≤11 则他当天的睡眠质量为优。
- 如果 5≤ai≤85 \leq a_i \leq 85≤ai≤8 则他当天的睡眠质量为良。
- 如果 0≤ai≤40 \leq a_i \leq 40≤ai≤4 则他当天的睡眠质量为差。
对于他这 nnn 天的睡眠情况,输出他的睡眠质量最差的情况,同时还要输出共几天是这个睡眠质量。
其中:
- 如果睡眠质量最差的是优则输出
Great。 - 如果睡眠质量最差的是良则输出
Good。 - 如果睡眠质量最差的是差则输出
Bad。
保证在这 nnn 天中,至少存在两种睡眠质量。
输入格式
共两行,第一行包含一个正整数 nnn,表示天数。
第二行包含 nnn 个整数 aia_iai,表示他每天的睡眠时间。
输出格式
输出共两行:
第一行包含一个字符串,表示这 nnn 天中他睡眠质量最差的情况。
第二行包含一个正整数,表示他共几天处于最差的睡眠质量。
输入输出样例 #1
输入 #1
5
1 9 4 5 8
输出 #1
Bad
2
输入输出样例 #2
输入 #2
3
12 14 10
输出 #2
Great
1
说明/提示
【数据范围】
对于 30%30\%30% 的数据,n=2n = 2n=2。
对于 100%100\%100% 的数据,2≤n≤1062\le n\le 10^62≤n≤106。
思路
暴力模拟即可。
代码见下
#include<bits/stdc++.h>
using namespace std;
long long n,a[1000006],c[15];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]<=4){
c[1]++;
}
else if(a[i]<=8){
c[2]++;
}
else if(a[i]<=11){
c[3]++;
}
else{
c[4]++;
}
}
if(c[1]>=1){
cout<<"Bad"<<endl;
cout<<c[1]<<endl;
}
else if(c[2]>=1){
cout<<"Good"<<endl;
cout<<c[2]<<endl;
}
else if(c[3]>=1){
cout<<"Great"<<endl;
cout<<c[3]<<endl;
}
else{
cout<<c[4]<<endl;
}
return 0;
}

浙公网安备 33010602011771号