Ticker

6/recent/ticker-posts

Header Ads Widget

Responsive Advertisement

Codechef problem: 677A - A. Vanya and Fence

Codechef problem: 677A - A. Vanya and Fence 


    Question

    A. Vanya and Fence
    time limit per test
    1 second
    memory limit per test
    256 megabytes

    Vanya and his friends are walking along the fence of height h and they do not want the guard to notice them. In order to achieve this the height of each of the friends should not exceed h. If the height of some person is greater than h he can bend down and then he surely won't be noticed by the guard. The height of the i-th person is equal to ai.

    Consider the width of the person walking as usual to be equal to 1, while the width of the bent person is equal to 2. Friends want to talk to each other while walking, so they would like to walk in a single row. What is the minimum width of the road, such that friends can walk in a row and remain unattended by the guard?

    Input

    The first line of the input contains two integers n and h (1 ≤ n ≤ 10001 ≤ h ≤ 1000) — the number of friends and the height of the fence, respectively.

    The second line contains n integers ai (1 ≤ ai ≤ 2h), the i-th of them is equal to the height of the i-th person.

    Output

    Print a single integer — the minimum possible valid width of the road.

    Examples
    Input
    3 7
    4 5 14
    Output
    4
    Input
    6 1
    1 1 1 1 1 1
    Output
    6
    Input
    6 5
    7 6 8 9 10 5
    Output
    11
    Note

    In the first sample, only person number 3 must bend down, so the required width is equal to 1 + 1 + 2 = 4.

    In the second sample, all friends are short enough and no one has to bend, so the width 1 + 1 + 1 + 1 + 1 + 1 = 6 is enough.

    In the third sample, all the persons have to bend, except the last one. The required minimum width of the road is equal to 2 + 2 + 2 + 2 + 2 + 1 = 11.

    Solution to the question:

    
     import java.util.Scanner;
     public class Main{
        public static void main(String args[]){
            // create constructor to take input from user using console
            Scanner sc = new Scanner(System.in);
            
            int noEle = sc.nextInt();
            int targetEle = sc.nextInt();
            // array to store the values
            int nums[] = new int[noEle];
            // store response
            int res =0;
            // take input from user and store the elements in an array
            for(int pos =0;pos<noEle;pos++){
      nums[pos] = sc.nextInt();
            }
            // check the logic explained below
            for(int num:nums){
                    res = num <= targetEle ? res + 1 : res + 2;
            }
            System.out.println(res);
            // make sure to close the reader to prevent attacks
            sc.close();
        }
    }
    

    Logic:

    Check the second number to the elements in array if less that eual to the number add 1 else add 2.
    return the response in print statement.

    Post a Comment

    0 Comments