fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //必要があれば,関数をいくつでも追加して良い
  5. void swap(int *a, int *b){
  6. int tmp;
  7. tmp = *a;
  8. *a = *b;
  9. *b = tmp;
  10. }
  11. void mySort(int a[], int n){
  12. int i,j;
  13. for(i=0;i<n-1;i++){
  14. for(j=n-1;j>i;j--){
  15. if(a[j]<a[j-1])
  16. swap(&a[j],&a[j-1]);
  17. }
  18. }
  19. }
  20. int solve(){
  21. int ret = 0;
  22. int n,q,i;
  23. int *d;
  24. scanf("%d %d",&n,&q);
  25. d = (int*)malloc(sizeof(int)*n);
  26. if(d==NULL){
  27. printf("ERROR\n");
  28. return -1;
  29. }
  30. for(i=0;i<n;i++){
  31. scanf("%d",&d[i]);
  32. }
  33. for(i=0;i<q;i++){
  34. mySort(d,n);
  35. d[n-1] /= 2;
  36. }
  37. for(i=0;i<n;i++){
  38. ret += d[i];
  39. }
  40. free(d);
  41. return ret;
  42. }
  43. int main(void){
  44. printf("%d\n",solve());
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0s 5324KB
stdin
7 2
10 40 60 30 80 5 30
stdout
185