0
点赞
收藏
分享

微信扫一扫

AcWing421. 陶陶摘苹果

分湖芝蘭 2022-02-11 阅读 67
c++

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。

苹果成熟的时候,陶陶就会跑去摘苹果。

陶陶有个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 

现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。

假设她碰到苹果,苹果就会掉下来。

输入文件包括两行数据。

第一行包含 10 个 100 到 200 之间(包括 100 和 200)的整数(以厘米为单位)分别表示 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。

第二行只包括一个 100 到 120 之间(包含 100 和 120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

输出文件包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。

100 200 150 140 129 134 167 198 200 111
110
5
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1000000+10;
int q[N];
void quick_sort(int q[],int l,int r)//快速排序
{
    if(l>=r)return;
    int x=q[l+r>>1],i=l-1,j=r+1;
    while(i<j)
    {
        do i++;while(q[i]<x);
        do j--;while(q[j]>x);
        if(i<j)swap(q[i],q[j]);
    }
    quick_sort(q,l,j);
    quick_sort(q,j+1,r);
}
int main()
{
    for(int i = 1;i <= 10;i ++ )scanf("%d",&q[i]);
    quick_sort(q,1,10);
    int high,num=0,touch;
    scanf("%d",&high);
    touch=high+30;
    for(int i = 1;i <= 10;i ++ )
    {
        if(touch>=q[i])num=num+1;
    }
    printf("%d",num);
}
举报

相关推荐

0 条评论