20171202做的题

运输宝石

Description

有一天 MR.Z 无意中来到一个藏宝洞,藏宝洞里有n中大小不同的宝石,MR.Z高兴坏了,他决定把所有的宝石都带回家。MR.Z身上刚好有两种最大容量为 m m的宝石盒,而且为了保护宝石,一个宝石盒里不能同时装两种宝石,MR.Z数出了每种宝石的数量,请你帮他算一算要运多少次才能把所有的宝石带回家。

Input

第一行输入两个整数,宝石的种类 n n和宝石盒的容量 m m (1n105,1k109) (1 ≤ n ≤ 105,1 ≤ k ≤ 109) ;第二行输入 n n个整数,即每种宝石的数量  w1,w2,...,wn(1wi104) w1,w2, ..., wn(1 ≤ wi ≤ 104) ;

Output

一个整数,表示需要运输的次数

代码:

#include<iostream>

using namespace std;
long long k;
int main()
{
    int n,count = 0,m;
    cin>>n>>k;
    for (int i = 0;i < n;i++)
    {
        cin >> m;
        count += (m + k -1)/k;
    }
    count = (count + 1) / 2;
    cout<<count<<endl;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值