提交时间:2026-10-28 18:53:32
运行 ID: 43345
#include <bits/stdc++.h> using namespace std; #define int long long int n,k,a[200005],ans1=1e9,ans2,b,c; int num(int l,int r){ int cnt=0,i=r,x,y,mid; while (i>=l){ x=0,y=i+1,mid; while (x<y){ mid = (x+y)/2; if (a[mid]>a[i]/2) y=mid; else x=mid+1; } cnt++; i = y-1; } b = k-(l-i-1); return cnt; } signed main(){ freopen("test.in","r",stdin); freopen("test.out","w",stdout); cin >> n >> k; for (int i=1; i<=n; i++) cin >> a[i]; sort(a+1,a+n+1); for (int i=1; i<=k+1; i++){ c = num(i,i+n-k-1); if (c<ans1 || (c==ans1&&b<ans2)){ ans1 = c; ans2 = b; } } cout << ans1 << " " << ans2; return 0; }