华华给月月准备礼物

    xiaoxiao2021-04-15  472

    简单二分

    #include<bits/stdc++.h> #define lc ((o) << 1) #define rc ((o) << 1 | 1) using namespace std; typedef long long ll; typedef pair<int,int>Pair; const int N=1e6+5; const ll mod=1e9+7; int a[N]; int n,m; int slove(int x) { int sum=0; for(int i=0;i<n;i++) { sum+=a[i]/x; if(sum>=m) return 1; } return 0; } int main() { int ans; cin>>n>>m; for(int i=0;i<n;i++) { cin>>a[i]; } int l=1, r=1e9, mid; while(l<=r) { mid=(l+r)/2; if(slove(mid)) { l=mid+1; ans=mid; } else { r=mid-1; } } cout<<ans<<endl; }

    最新回复(0)