P14970 『GTOI - 2A』睡眠质量题解

P14970 『GTOI - 2A』睡眠质量

题目背景

小 H 觉得睡眠的时间长短是一件很重要的事情。

题目描述

现在给你他 nnn 天的睡眠时间,aia_iai 为他第 iii 天的睡眠时间。保证 0≤ai≤240 \leq a_i \leq 240ai24aia_iai 为整数。

对于第 iii 天的睡眠时间:

  • 如果 ai≥12a_i \ge 12ai12,则他当天的睡眠质量为极好。
  • 如果 9≤ai≤119 \leq a_i \leq 119ai11 则他当天的睡眠质量为优。
  • 如果 5≤ai≤85 \leq a_i \leq 85ai8 则他当天的睡眠质量为良。
  • 如果 0≤ai≤40 \leq a_i \leq 40ai4 则他当天的睡眠质量为差。

对于他这 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^62n106

思路

暴力模拟即可。

代码见下

#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;
}
posted @ 2026-01-26 21:22  bz02_2023f2  阅读(3)  评论(0)    收藏  举报  来源