fork download
  1. #include <stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int main(void) {
  5.  
  6. int t;
  7. scanf("%d",&t);
  8.  
  9. while(t>0 && t<6)
  10. {
  11. int n, k, i, j, range=0;
  12. scanf("%d %d",&n,&k); //n: no. of dogs; k: no. of walkers
  13. int a[n];
  14. int *sub = (int*)malloc(n*sizeof(int));
  15. for(i=0; i<n; i++)
  16. scanf("%d",&a[i]);
  17.  
  18. if(k==n)
  19. {
  20. range = 0;
  21. printf("%d",range);
  22. break;
  23. }
  24.  
  25. for(i=0; i<n-1; i++)
  26. {
  27. for(j=0; j<n-1-i; j++)
  28. {
  29. if(a[j]>a[j+1])
  30. {
  31. int tmp = a[j];
  32. a[j] = a[j+1];
  33. a[j+1] = tmp;
  34. }
  35. }
  36. }
  37.  
  38. /* for(i=0; i<n-1; i++)
  39.   sub[i] = a[i+1]-a[i];
  40.  */
  41. for(i=0; i<=n-k; i++)
  42. {
  43. for(j=0; j<n-k; j++)
  44. sub[i]= a[j+i+1]-a[j+i];
  45. }
  46. /* for(i=0; i<n-1; i++)
  47.   {
  48.   for(j=0; j<n-1-i; j++)
  49.   {
  50.   if(sub[j]>sub[j+1])
  51.   {
  52.   int tmp = sub[j];
  53.   sub[j] = sub[j+1];
  54.   sub[j+1] = tmp;
  55.   }
  56.   }
  57.   }
  58.  */
  59. for(i=0; i<n; i++)
  60. printf("%d ",sub[i]);
  61.  
  62. for(i=0; i<=n-k; i++)
  63. range+=sub[i];
  64.  
  65. printf("\nRange: %d", range);
  66. t--;
  67. }
  68. return 0;
  69. }
  70.  
  71.  
Success #stdin #stdout 0s 2304KB
stdin
1
6 3
2 41 45 58 69 88
stdout
13 11 19 -7334988 0 0 
Range: -7334945