Problem:
Score : 200 points

Problem Statement

We have held a popularity poll for N items on sale. Item i received A_i votes.

From these N items, we will select M as popular items. However, we cannot select an item with less than \dfrac{1}{4M} of the total number of votes.

If M popular items can be selected, print Yes; otherwise, print No.

Constraints

1 \leq M \leq N \leq 100

1 \leq A_i \leq 1000

A_i are distinct.

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N M
A_1 ... A_N

Output

If M popular items can be selected, print Yes; otherwise, print No.

Sample Input 1

4 1
5 4 2 1

Sample Output 1

Yes

There were 12 votes in total. The most popular item received 5 votes, and we can select it.

Sample Input 2

3 2
380 19 1

Sample Output 2

No

There were 400 votes in total. The second and third most popular items received less than \dfrac{1}{4\times 2} of the total number of votes, so we cannot select them. Thus, we cannot select two popular items.

Sample Input 3

12 3
4 56 78 901 2 345 67 890 123 45 6 789

Sample Output 3

Yes

Solution in C (Clang 3.8.0) (judge verdict: Wrong Answer)

#include<stdio.h>
 
int main(){
 
  int N , M , M_max = 0; /*商品数N、人気商品数M、選べる人気商品数の最大M_max*/
  int A[101]; /*得票数*/
  int sum =0; /*総得票数*/
  int judge =0; /*人気商品の判定*/
  
  scanf("%d %d",&N,&M); /*商品数、人気商品数取得*/
  
  for(int i=0 ;i < N ; i++){
    scanf("%d",&A[i]);/*得票数取得*/
    sum = sum +A[i]; /*総得票数を計算する*/
  }
  
  judge = sum/(4*M);
  
   for(int i=0 ;i < N ; i++){
     if(A[i] % 4 == 0){
       if(A[i]<judge){
       /*何もしない*/
     	}else{
       M_max ++;
    	}	
     }else{
      if(A[i]<=judge){
       /*何もしない*/
     	}else{
      M_max ++;
    	}	
     }
   }
  
  if(M <= M_max){
    printf("Yes");
  }else{
    printf("No");
  }
  
  return 0;
  
  }