算法题每日一练---第95天:组队

2,379 阅读1分钟

一、问题描述

给定 n 个整数 y1,y2,,yny1,y2,…,yn,及一个整数 k。

先求出有多少个 yiyi 满足 yi+k5 yi+k≤5,然后输出满足要求的 yi yi 的个数除以 3 下取整的值。

题目链接:组队

二、题目要求

样例 1

5 2
0 4 5 1 0

样例 2

6 4
0 1 2 3 4 5

数据范围

前 4 个测试点满足  1n61≤n≤6

所有测试点满足  1n20001k50yi51≤n≤2000,1≤k≤5,0≤yi≤5

考察

1.数学、模拟
2.建议用时5~20min

三、问题分析

这是一道简单的模拟问题,只要对输入的数据进行判断处理就可以了。其中,判断的条件是

+k<=5+k<=5

对符合条件的数字,进行计数,最后直接/3向下取整就可以了。

四、编码实现

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int i,n,k,x,ans=0;//初始化设置
    cin>>n>>k;//输入数据
    for(i=0;i<n;i++)
    {
        cin>>x;
        if(x+k<=5)//满足条件
            ans++;
    }
    cout<<ans/3;//向下取整,输出结果
    return 0;
}

五、测试结果

1.png

2.png