求助!样例过了但是评分为0......
查看原帖
求助!样例过了但是评分为0......
1216740
_Misaka_Ning_楼主2024/3/24 12:25
#include<stdio.h>
#include<iostream>
using namespace std;

int main(){
	int n, t, m, v, zi, zl[10000], fz=0;
	double arr[10000], zd, ans=0;
	cin>>n>>t;
	for(int i=0;i<n;i++){
		cin>>m>>v;
		arr[i]=v/m;
		zl[i]=m;
	}
	for(int i=n-1;i>0;i--){
		for(int j=0;j<i;j++){
			if(arr[j]>arr[j]+1){
				zd=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=zd;
				zi=zl[j];
				zl[j]=zl[j+1];
				zl[j+1]=zi;
			}
		}
	}

	for(int i=0;i<n&&fz<=t;i++){
		if(fz+zl[i]>t){
			ans+=(t-fz)*arr[i];
			fz=t;
		}
		else{
			ans+=zl[i]*arr[i];
			fz+=zl[i];
		}
	}
	printf("%.2lf", ans);
	
	return 0;
}

2024/3/24 12:25
加载中...