fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void swap(int* a, int* b){
  5. int tmp;
  6. tmp = *a;
  7. *a = *b;
  8. *b = tmp;
  9. }
  10.  
  11. int solve(){
  12. int i,j,k,a,b,c;
  13. int *v;
  14. int ret=0;
  15. scanf("%d",&i);
  16. scanf("%d",&j);
  17. v=(int*)malloc(sizeof(int)*i);
  18. for(k=0;k<i;k++){
  19. scanf("%d",&v[k]);
  20. }
  21. for(a=0;a<i-1;a++){
  22. for(b=1;b<i-a;b++){
  23. if(v[b-1]>v[b]){
  24. swap(&v[b-1],&v[b]);
  25. }
  26. }
  27. }
  28. for(c=0;c<j;c++){
  29. v[i-1]=(0.5)*v[i-1];
  30. for(a=0;a<i-1;a++){
  31. for(b=1;b<i-a;b++){
  32. if(v[b-1]>v[b]){
  33. swap(&v[b-1],&v[b]);
  34. }
  35. }
  36. }
  37. }
  38.  
  39. for(k=0;k<i;k++){
  40. ret+=v[k];
  41. }
  42. free(v);
  43. return ret;
  44. }
  45.  
  46. int main(void){
  47. printf("%d",solve());
  48. return 0;
  49. }
  50.  
Success #stdin #stdout 0s 5228KB
stdin
7 2
10 40 60 30 80 30 1000
stdout
500