1 条题解
-
1
void solve() { int n, k; cin >> n >> k; int ai[n+1]; for(int i = 1;i <= n; i++) cin >> ai[i]; sort(ai+1,ai+1+n);//使用冒泡排序即可 int ans = 0, sum = 0;//sum为符合条件的子段长度 for(int i = 2;i <= n; i++){ if(ai[i]-ai[i-1]<=k){ sum++; } else{ ans = max(ans,sum);//找出最长串 sum = 0;//不符合条件sum重置 } } ans = max(ans,sum);//ans为最长子段 cout << n-ans-1 << "\n"; } signed main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); int _ = 1; cin >> _; while(_--){ solve(); } return 0; }
- 1
信息
- ID
- 1146
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 27
- 已通过
- 10
- 上传者