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