题解 | #Dropping tests#

Dropping tests

https://ac.nowcoder.com/acm/problem/51093

思路

01分数规划模板题。

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
//#define int long long
using namespace std;
const int N=1007;
const int mod=1e9+7;

int n,k;
double a[N],b[N],c[N];

bool check(double ans){
	for(int i=1;i<=n;i++){
		c[i]=a[i]-b[i]*ans;
	}
	sort(c+1,c+1+n);
	double res=0;
	for(int i=n;i>k;i--){
		res+=c[i];
	}
	if(res>=0) return true;
	return false;
} 

signed main(){
	while(cin>>n>>k){
		if(n==0&&k==0) break;
		for(int i=1;i<=n;i++) cin>>a[i];
		for(int i=1;i<=n;i++) cin>>b[i];
		double l=0,r=inf,mid;
		while(r-l>1e-6){
			mid=(l+r)/2;
			if(check(mid)) l=mid;
			else r=mid; 
		}
		cout<<int(l*100+0.5)<<"\n";
	}
	return 0;
}

全部评论

相关推荐

06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务