2 条题解
-
0
#include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 100005; int n, k, a[N]; bool check(int x){ LL y=0; //段数 for(int i=1;i<=n;i++) y+=a[i]/x; return y>=k; //x小,y大 } int find(){ int l=0, r=1e8+1; while(l+1<r){ int mid=(l+r)>>1; if(check(mid)) l=mid; //最大化 else r=mid; } return l; } int main(){ scanf("%d%d",&n,&k); for(int i=1; i<=n; i++)scanf("%d",&a[i]); printf("%d\n",find()); return 0; } -
0
#include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 100005; int n, k, a[N]; bool check(int x){ LL y=0; //段数 for(int i=1;i<=n;i++) y+=a[i]/x; return y>=k; //x小,y大 } int find(){ int l=0, r=1e8+1; while(l+1<r){ int mid=(l+r)>>1; if(check(mid)) l=mid; //最大化 else r=mid; } return l; } int main(){ scanf("%d%d",&n,&k); for(int i=1; i<=n; i++)scanf("%d",&a[i]); printf("%d\n",find()); return 0; }
- 1
信息
- ID
- 2211
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 287
- 已通过
- 39
- 上传者