c语言20分求调
查看原帖
c语言20分求调
1513785
cxg12312楼主2024/11/3 23:13
#include <stdio.h>

int main()

{
    int N,T;
    
    double m[10000],v[10000];
    double a[10000];
    double sum=0;
    scanf("%d%d",&N,&T);
    for (int i = 1; i <=N ; i++)
    {
        scanf("%lf%lf",&m[i],&v[i]);
        a[i] = v[i]/m[i];
    }
    for(int i=1;i<=N-1;i++)
    {
		for(int j=1;j<=N-1-i;j++)
        {
			if(a[j]<a[j+1])
            {
				int tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
    for (int i=1; i<=N; i++)
    {
        if (T>=m[i])
        {
            sum+=v[i];
            T-=m[i];
        }
        else
        {
            sum+=a[i]*T;
            break;
        
        }
    }
    printf("%.2lf",sum);
   }
2024/11/3 23:13
加载中...