zoukankan      html  css  js  c++  java
  • 陶陶摘苹果(升级版)

    题目描述

    又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次她有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。

    这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了。当然,每次摘苹果时都要用一定的力气。陶陶想知道在s<0之前最多能摘到多少个苹果。

    现在已知n个苹果到达地上的高度xi,椅子的高度a,陶陶手伸直的最大长度b,陶陶所剩的力气s,陶陶摘一个苹果需要的力气yi,求陶陶最多能摘到多少个苹果。

    输入输出格式

    输入格式:

    第1行:两个数 苹果数n,力气s。

    第2行:两个数 椅子的高度a,陶陶手伸直的最大长度b。

    第3行~第3+n-1行:每行两个数 苹果高度xi,摘这个苹果需要的力气yi。

    输出格式:

    只有一个整数,表示陶陶最多能摘到的苹果数。

    输入输出样例

    输入样例#1:
    8 15
    20 130
    120 3
    150 2
    110 7
    180 1
    50 8
    200 0
    140 3
    120 2
    输出样例#1:
    4

    说明

    所有数据:n<=5000 a<=50 b<=200 s<=1000

    xi<=280 yi<=100

    代码实现:

     1 #include<cstdio>
     2 #include<algorithm>
     3 using namespace std;
     4 int n,m,s,a,b,c,ans;
     5 int w[30000];
     6 int main(){
     7     scanf("%d%d%d%d",&n,&s,&a,&b);
     8     a+=b;
     9     for(int i=1;i<=n;i++){
    10         scanf("%d%d",&b,&c);
    11         if(b<=a) w[++m]=c;
    12     }
    13     sort(w+1,w+m+1);
    14     for(int i=1;i<=m;i++){
    15         if(w[i]>s) break;
    16         s-=w[i];++ans;
    17     }
    18     printf("%d
    ",ans);
    19     return 0;
    20 }

    判断+排序+贪心。

    题目来源:洛谷

  • 相关阅读:
    包含停用词的词频统计(map,set非class版本)<< 0919
    pair,map,set<<0924
    答题程序中用户登录状态的保存<<0924
    时间戳<<0923
    list,vector相关函数与区别<<0922
    类里面的赋值和拷贝函数<<0922
    vector的初始化补充,list,find函数,指针和迭代器等<<0922
    redhat 6上nis配置
    如何查看cache信息
    oprofile 安装使用
  • 原文地址:https://www.cnblogs.com/J-william/p/6286055.html
Copyright © 2011-2022 走看看