提交时间:2026-10-28 15:25:40
运行 ID: 43312
#include <bits/stdc++.h> #define int long long using namespace std; const int N=2e5+5; int n, k,a[N],f[N][45]; signed main(){ cin>>n>>k; for (int i=1;i<=n;i++)cin>>a[i]; memset(f,0x3f,sizeof(f)); f[0][0]=0; sort(a+1,a+n+1); for(int i=1;i<=n;i++){ for(int j=0;j<=35;j++){ f[i][j]=f[i-1][j]+1; int lst=upper_bound(a+1,a+i+1,a[i]/2)-a-1; if(j>0)f[i][j]=min(f[i][j],f[lst][j-1]); } } for(int i=0;i<=35;i++){ if(f[n][i]<=k){ cout<<i<<f[n][i]; return 0; } } }