fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //必要があれば,関数をいくつでも追加して良い
  5. int compare(const void *a,const void*b){
  6. return *(int*)b-*(int*)a;
  7. }
  8.  
  9. int solve(){
  10. int ret;
  11. ret=0;
  12. //ここにプログラムを書く
  13. //ret に答えを入れてメイン関数に返す
  14. //入力を受ける部分も自分で書いてください
  15. //今日の分を含め過去の授業のプログラムが
  16. //参考になるはずです
  17. int n,q;
  18. scanf("%d%d",&n,&q);
  19. int m[n];
  20. for(int i=0;i<n;i++){
  21. scanf("%d",&m[i]);
  22. }
  23.  
  24. qsort(m,n,sizeof(int),compare);
  25.  
  26. while(q>0)
  27. {
  28. m[0]=m[0]/2;
  29. qsort(m,n,sizeof(int),compare);
  30. q--;
  31. }
  32.  
  33. for(int i=0;i<n;i++){
  34. ret= ret+m[i];
  35. }
  36.  
  37.  
  38. return ret;
  39. }
  40.  
  41. //メイン関数はいじらなくて良い
  42. int main(void){
  43. printf("%d\n",solve());
  44. return 0;}
  45.  
Success #stdin #stdout 0s 5284KB
stdin
7 2

10 40 60 30 80 5 30
stdout
185