20171202做的题

来源:互联网 发布:明道办公软件怎么样 编辑:程序博客网 时间:2024/06/14 18:51
运输宝石

Description

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

Input

第一行输入两个整数,宝石的种类nn和宝石盒的容量mm(1n105,1k109)(1 ≤ n ≤ 105,1 ≤ k ≤ 109) ;第二行输入nn个整数,即每种宝石的数量 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;
}