不知道我这个做法哪里错了...找了半天 就是用的一个尺取法 int n, x; vector<int> arr; scanf("%d%d", &n,&x); arr.resize(n); for(int i = 0; i < &arr[i]; i++) scanf("%d", &arr[i]); sort(arr.begin(), arr.end()); int res = 0, i = 0, j = 0; for( ; i < n; i++) { while(j < n && arr[j] - arr[i] <= x) { j++; res = max(res, j - i); } if(j == n-1 || j == n) break; } printf("%d\n", n-res);
点赞

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务