百度秋招9.17后台C++/PHP笔试AC2.9
第一题AC
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ ll n,k,m; cin>>n>>m>>k; ll c=n*m-k; ll a=c/m+1,b=c/n+1; ll res=min(a,b); ll p=1,q=res; while(p<q){ ll i=(p+q)/2; if (i>res) break; ll x=0,y=res-i,mid; while(x<y){ mid=(x+y)/2; if (i*m+mid*n-i*mid>=c){ y=mid; } else{x=mid+1;} } res=min(res,i+x); p=res; } cout<<res<<endl; }第二题AC(python超时了尴尬,改用c++)
bool cmp(node r1,node r2){ if(r1.y!=r2.y) return r1.y<r2.y; return r1.x<r2.x; } struct{ int x,y; }; node num[n]; sort(num,num+n,cmp); int cnt=0; bool f=true; for (int i=0;i<n;i++){ if (cnt+num[i].x>num[i].y){ f=false; break; } cnt+=num[i].x; }第三题 没时间做了 就取巧了 AC90%