当前位置:网站首页>Haut OJ 1316: sister choice buys candy III

Haut OJ 1316: sister choice buys candy III

2022-07-05 05:16:00 hunziHang

Problem description :

Choice The schoolgirl looks at so many sweets in the candy store , She thought it would be great if she could take them all home . Now there are n Grow candy (1-n Number ), Each kind of candy has mi individual (mi On behalf of the i The number of candies ),Choice The student sister only has two paper bags , Each paper bag can hold at most w A candy .Choice The schoolgirl doesn't want a paper bag mixed with a variety of sweets ( One paper bag at a time can only contain one kind of candy ), that Choice How many times does the schoolgirl have to take all these sweets home at least ?

Input :

Enter two integers on the first line n,w(1 <= n ,w<= 1e4), Space off

Next line n Space separated integers mi, It means the first one i The number of candies .(1<= mi <= 1e3).

Output :

How many times should I take the output at least , The answer is on one line .

The sample input :

6 5 
3 2 6 5 4 4

Sample output :

4

Cause analysis :

Calculate the total number of bags needed , Number of bags /2 According to the circumstances , Because because / The result is an integer , That is, odd numbers will be rounded down , One less time , So you can Odd number Even numbers Merge     (ans+ 1) / 2    for example 7/2=3 , Mathematically, it should be equal to 3.5, The actual need 4 Time , even numbers 8 need 4 Time , Add 1 There are still four times       Actually ans/2  + 0.5   +0.5 It is equivalent to rounding

in the future Practical application   /2  Remember to think about Odd and even cases , Whether it will have an impact  


Solution :

#include <stdio.h>

int main()
{
    int n, w, t;
    int ans = 0;
    scanf("%d%d", &n, &w);
    for(int i = 1; i <= n; i++) {
        scanf("%d", &t);
        ans += t / w;
        if(t % w)
            ans ++;
    }
    printf("%d\n", (ans+ 1) / 2);
    return 0;
}


原网站

版权声明
本文为[hunziHang]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202140622509441.html