| Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
|---|---|---|---|---|---|---|---|---|---|
| 43356 | 范墨涵 | 【J】T4 | C++ | Accepted | 100 | 258 MS | 79956 KB | 856 | 2026-10-28 20:36:08 |
#include<bits/stdc++.h> using namespace std; #define int long long const int N = 2e5+10; int n,k; int a[N]; int dp[N][50]; // dp[i][j]表示除去前i珠草,小明操作j次小华最小的操作次数 signed main(){ // freopen("a.in","r",stdin); // freopen("a.out","w",stdout); cin >> n >> k; for (int i=1;i<=n;i++) cin >> a[i]; memset (dp,0x3f,sizeof(dp)); sort (a+1,a+1+n); dp[0][0]=0; for (int i=1;i<=n;i++){ for (int j=0;j<=40;j++){ dp[i][j]=dp[i-1][j]+1; if (j>0){ int last=upper_bound(a+1,a+i+1,a[i]/2)-a-1; dp[i][j]=min(dp[i][j],dp[last][j-1]); } } } for (int i=0;i<=40;i++){ if (dp[n][i]<=k){ cout << i << " " << dp[n][i]; break; } } return 0; }