写在前面
- 实现思路
- maybe可能空置,must空置
- 累计小于e的次数sum,如果sum > (k / 2),表示超过一半的日子低于阈值e,可能空置
- 再判断观察期k是否大于d,大于说明是空置,must++,否则是可能空置,maybe++,
- printf中使用2个百分号%%表示输出1个百分号
- 题目简单,10分钟a题
测试用例
input:
5 0.5 10
6 0.3 0.4 0.5 0.2 0.8 0.6
10 0.0 0.1 0.2 0.3 0.0 0.8 0.6 0.7 0.0 0.5
5 0.4 0.3 0.5 0.1 0.7
11 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
11 2 2 2 1 1 0.1 1 0.1 0.1 0.1 0.1
output:
40.0% 20.0%
ac代码
#include <iostream>
using namespace std;
int main()
{
int n, d, k, maybe = 0, must = 0;
double e, tmp;
cin >> n >> e >> d;
for (int i = 0; i < n; i++)
{
cin >> k;
int sum = 0;
for (int j = 0; j < k; j++)
{
cin >> tmp;
if (tmp < e) sum++;
}
if(sum > (k / 2))
k > d ? must++ : maybe++;
}
printf("%.1f%% %.1f%%", maybe*100.0/n , must*100.0/n);
return 0;
}