有没有大佬帮我解释
查看原帖
有没有大佬帮我解释
1374261
gaohongyuan楼主2024/12/2 13:14
#include<bits/stdc++.h>
using namespace std;
int n;
double a[101],t,m[101],v[101];
int main()
{
	cin>>n>>t;
	for(int i=1;i<=n;i++)cin>>m[i]>>v[i],a[i]=v[i]/m[i];
	for(int i=1;i<n;i++)
	for(int j=1;j<n;j++)
	if(a[j]>a[j+1])
	{
	    swap(a[j],a[j+1]);
	    swap(m[j],m[j+1]);
	    swap(v[j],v[j+1]);
	}
	int sum=0,i=n+1;
	while(i--)
	{
	    if(t>=m[i])
	    {
	        sum+=v[i];
	        t-=m[i];
	    }
	    else
	    {
	        printf("%.2f",sum+t*a[i]);
	        return 0;
	    }
	}
	printf("%.2f",sum+t*a[i]);
    return 0;
}

倒数第三行

sum+t*a[i]

为什么要加t*a[i]

不加WA第一个点???

2024/12/2 13:14
加载中...