百度秋招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%
