zoukankan      html  css  js  c++  java
  • 51NOD 1432 独木舟

    基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
    n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?
    Input
    第一行包含两个正整数n (0<n<=10000)和m (0<m<=2000000000),表示人数和独木舟的承重。
    接下来n行,每行一个正整数,表示每个人的体重。体重不超过1000000000,并且每个人的体重不超过m。
    Output
    一行一个整数表示最少需要的独木舟数。
    Input示例
    3 6
    1
    2
    3
    Output示例
       2
    题解:简单贪心,排序之后从第N个找第一个,两者小于称重就同时往里找,大于称重说明第N个必须自己走,那么就找第N-1个和第一个,依次下去。
    AC代码:
     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 const int maxn = 10005;
     5 long long a[maxn];
     6 int n;
     7 long long k;
     8 int main()
     9 {
    10     cin>>n>>k;
    11     for(int i=1;i<=n;i++)
    12     {
    13         cin>>a[i];
    14     }
    15     sort(a+1,a+1+n);
    16     int t = 1;
    17     int h = n;
    18     int sum = 0;
    19     while(t<=h)
    20     {
    21         if(a[h]+a[t]<=k)
    22         {
    23             sum++;
    24             h--;
    25             t++;
    26         }
    27         else
    28         {
    29             sum++;
    30             h--;
    31         }
    32     }
    33     cout<<sum<<endl;
    34     return 0;
    35 }
  • 相关阅读:
    token认证、JWT
    DRF序列化、认证、跨域问题
    JS 作用域 p1
    如何配置图标
    关于批量更新与删除
    windows 公司内部搭建禅道(项目管控)
    JS 创建自定义对象的方式方法
    apicloud 消息推送与接收
    apicloud 自定义模块的开发与上架注意事项
    apicloud 第一篇
  • 原文地址:https://www.cnblogs.com/sortmin/p/8016913.html
Copyright © 2011-2022 走看看