二分,样例对,测试点全WA,求调
查看原帖
二分,样例对,测试点全WA,求调
775208
Alvin1204楼主2024/8/9 16:00
#include<bits/stdc++.h>
using namespace std;
int n,L,v,a[200010],q;
int merge_a[200010];
bool cmp(int a,int b){return a>b;}
bool check(int x,int t){
	long long sum=L;
	for(int i=1;i<=x;i++) sum+=a[x];
	return v*t<=sum;
}
int main(){
	scanf("%d%d%d",&n,&L,&v);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	sort(a+1,a+1+n,cmp);
	scanf("%d",&q);
	while(q--){
		int t;
		scanf("%d",&t);
		int l=0,r=n,ans=-1;
		while(l<=r){
			int mid=l+(r-l>>1);
			if(check(mid,t)) ans=mid,r=mid-1;
			else l=mid+1;
		}
		printf("%d\n",ans);
	}
	return 0;
}
2024/8/9 16:00
加载中...