Description
Anastasia loves going for a walk in Central Uzhlyandian Park. But she became uninterested in simple walking, so she began to collect Uzhlyandian pebbles. At first, she decided to collect all the pebbles she could find in the park.
She has only two pockets. She can put at most k pebbles in each pocket at the same time. There are n different pebble types in the park, and there are wi pebbles of the i-th type. Anastasia is very responsible, so she never mixes pebbles of different types in same pocket. However, she can put different kinds of pebbles in different pockets at the same time. Unfortunately, she can't spend all her time collecting pebbles, so she can collect pebbles from the park only once a day.
Help her to find the minimum number of days needed to collect all the pebbles of Uzhlyandian Central Park, taking into consideration that Anastasia can't place pebbles of different types in same pocket.
Input
The first line contains two integers n and k (1 ≤ n ≤ 105, 1 ≤ k ≤ 109) — the number of different pebble types and number of pebbles Anastasia can place in one pocket.
The second line contains n integers w1, w2, ..., wn (1 ≤ wi ≤ 104) — number of pebbles of each type.
Output
The only line of output contains one integer — the minimum number of days Anastasia needs to collect all the pebbles.
Sample Input
Input
3 2
2 3 4
Output
3
Input
5 4
3 1 8 9 7
Output
Anastasia loves going for a walk in Central Uzhlyandian Park. But she became uninterested in simple walking, so she began to collect Uzhlyandian pebbles. At first, she decided to collect all the pebbles she could find in the park.
She has only two pockets. She can put at most k pebbles in each pocket at the same time. There are n different pebble types in the park, and there are wi pebbles of the i-th type. Anastasia is very responsible, so she never mixes pebbles of different types in same pocket. However, she can put different kinds of pebbles in different pockets at the same time. Unfortunately, she can't spend all her time collecting pebbles, so she can collect pebbles from the park only once a day.
Help her to find the minimum number of days needed to collect all the pebbles of Uzhlyandian Central Park, taking into consideration that Anastasia can't place pebbles of different types in same pocket.
Input
The first line contains two integers n and k (1 ≤ n ≤ 105, 1 ≤ k ≤ 109) — the number of different pebble types and number of pebbles Anastasia can place in one pocket.
The second line contains n integers w1, w2, ..., wn (1 ≤ wi ≤ 104) — number of pebbles of each type.
Output
The only line of output contains one integer — the minimum number of days Anastasia needs to collect all the pebbles.
Sample Input
Input
3 2
2 3 4
Output
3
Input
5 4
3 1 8 9 7
Output
5
题意:
有n种不同颜色pe,而且每个颜色都有一定的数目,每天只能拿两个能装k个相同颜色pe的包(每个包内的pe为相同颜色)问最少需要几天!
思路:
先算出来总共需要的钱包,注意其中小于k的一种颜色呢pe一定单独占一个包,然后在对大于k的进行计算,计算出总得sum,若sum能被2整除,则输出sum/2否则sum/2+1;
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k,i,sum=0;
int a,b;
cin>>n>>k;
for(i=0;i<n;i++)
{
cin>>a;
if(a<=k)
sum++;
if(a>k)
{
b=a/k;
if(a%k==0)
sum+=b;
else
sum+=(b+1);
}
}
b=sum/2;
if(sum%2==0)
cout<<b<<endl;
else
cout<<b+1<<endl;
return 0;
}
心得:
注意寻找解决问题最简便的方法!!!