nan是什么鬼

lyh045 CSP-J2二等 2025-08-28 18:17:56 4
#include<bits/stdc++.h>

using namespace std;

double c[1005+1];
double a[1005],b[1005];
void kp(int l, int r) {
    int i, j;
    double mid;
    i = l;
    j = r;
    mid = c[(i + j) / 2];
    while (i <= j) {
        while (c[i] < mid) i++;
        while (c[j] > mid) j--;
        if (i <= j) {
            swap(c[i], c[j]);
            swap(a[i],a[j]);
            swap(b[i],b[j]);
            i++;
            j--;
        }
    }
    if (l < j)
        kp(l, j);
    if (i < r)
        kp(i, r);
}
int main(){
	double ans=0;
	int n,d;
	cin>>n>>d;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++){
		cin>>b[i];
		c[i]=(b[i]+0.0)/(a[i]+0.0);
	}
	kp(1,n);
	int i=n;
	while(d>=a[i]){
		d-=a[i];
		ans+=(b[i]+0.0);
		i--;
	}
	if(d>0){
		ans+=(d+0.0)*c[i];
	}
	printf("%0.2lf",ans);
	return 0;
}

不知道为什么最后一个样例在我电脑上能过,测评就成输出nan(not a number)了

{{ vote && vote.total.up }}