Guest User

Untitled

a guest
Oct 20th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. //5114 - Christmas Play
  2. //Live Archive
  3.  
  4. /*
  5. Ordene os números e pegue a menor diferença entre Soldier[i] e Soldier[i+k] para todo i tal que i+k < n
  6. */
  7.  
  8. #include <cstdio>
  9. #include <cstdlib>
  10. #include <string>
  11. #include <cmath>
  12. #include <cstring>
  13. #include <algorithm>
  14. #include <utility>
  15. #include <queue>
  16. #include <stack>
  17. #include <vector>
  18. #include <map>
  19. #include <iostream>
  20.  
  21. #define ln printf("\n")
  22.  
  23. using namespace std;
  24.  
  25. const int inf = 0x7f7f7f7f;
  26. const double pi=acos(-1.0);
  27. const double eps = 1e-8;
  28.  
  29. int n, k;
  30. int r[20200];
  31.  
  32. bool read(){
  33. //if() return false;
  34.  
  35. scanf("%d%d", &n, &k);
  36.  
  37. for(int i = 0; i < n; i++){
  38. scanf("%d", &r[i]);
  39. }
  40.  
  41. return true;
  42. }
  43.  
  44. void process(){
  45. sort(r, r+n);
  46.  
  47. int res = 2000000000;
  48.  
  49. for(int i = 0; i+k-1 < n; i++){
  50. res = min(res, abs(r[i]-r[i+k-1]));
  51. }
  52.  
  53. printf("%d\n", res);
  54.  
  55.  
  56. }
  57.  
  58. int main(){
  59. //freopen("in", "r", stdin);
  60. int cases; scanf("%d", &cases);
  61.  
  62. while(cases-- && /**/ read()){
  63. process();
  64. }
  65.  
  66. //while(1);
  67.  
  68. return 0;
  69. }
Add Comment
Please, Sign In to add comment