Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //5114 - Christmas Play
- //Live Archive
- /*
- 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
- */
- #include <cstdio>
- #include <cstdlib>
- #include <string>
- #include <cmath>
- #include <cstring>
- #include <algorithm>
- #include <utility>
- #include <queue>
- #include <stack>
- #include <vector>
- #include <map>
- #include <iostream>
- #define ln printf("\n")
- using namespace std;
- const int inf = 0x7f7f7f7f;
- const double pi=acos(-1.0);
- const double eps = 1e-8;
- int n, k;
- int r[20200];
- bool read(){
- //if() return false;
- scanf("%d%d", &n, &k);
- for(int i = 0; i < n; i++){
- scanf("%d", &r[i]);
- }
- return true;
- }
- void process(){
- sort(r, r+n);
- int res = 2000000000;
- for(int i = 0; i+k-1 < n; i++){
- res = min(res, abs(r[i]-r[i+k-1]));
- }
- printf("%d\n", res);
- }
- int main(){
- //freopen("in", "r", stdin);
- int cases; scanf("%d", &cases);
- while(cases-- && /**/ read()){
- process();
- }
- //while(1);
- return 0;
- }
Add Comment
Please, Sign In to add comment