1 条题解
-
0
C++ :
#include <cstdio> #include <algorithm> using namespace std; /* 展示的钻石最大最小值之差不超过 K -> 排序后双指针取最长窗口。 */ static int a[100005]; int main(){ int n; long long K; if(scanf("%d %lld",&n,&K)!=2) return 0; for(int i=0;i<n;i++) if(scanf("%d",&a[i])!=1) return 0; sort(a,a+n); int best=0, i=0; for(int j=0;j<n;j++){ while(a[j]-a[i]>K) i++; if(j-i+1>best) best=j-i+1; } printf("%d\n", best); return 0; }
- 1
信息
- ID
- 2627
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者