样例过了,测试数据点全WA
查看原帖
样例过了,测试数据点全WA
555513
yangtinghao楼主2022/10/11 10:45

代码如下:

#include<bits/stdc++.h>
using namespace std;
int n,L,v,q,t,ans,l,r,mid;
double a[200005],sum[200005]={0},s;
bool cmp(double x,double y) {return x>y;}
bool cheak(int x)
{
	if (s+sum[x]>t) return 1;
	else return 0;
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin>>n>>L>>v;s=L/v;
	for (int i=1;i<=n;++i) cin>>a[i],a[i]/=v;
	sort(a+1,a+n+1,cmp);
	for (int i=1;i<=n;++i) sum[i]=sum[i-1]+a[i];
	cin>>q;
	while (q--)
	{
		cin>>t;
		if (s>t) cout<<0<<endl;
		else if (t>=s+sum[n]) cout<<-1<<endl;
		else
		{
			l=0;r=n;
			while (l<=r)
			{
				mid=l+r>>1;
				if (cheak(mid)) r=mid-1,ans=mid;
				else l=mid+1;
			}
			cout<<ans<<endl;
		}
	}
}

10个点全WA了,求助

2022/10/11 10:45
加载中...