求大佬,为何第一个点RE??
查看原帖
求大佬,为何第一个点RE??
389797
Nemonade楼主2021/2/4 15:32
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+5;
struct node{
	int price;
	int weight;
	double kkksc03;
}a[N];

bool operator < (const node a,const node b){
	return a.kkksc03>b.kkksc03;
}

int main(){
	int n,w;cin>>n>>w;
	for(int i=1;i<=n;i++){
		cin>>a[i].weight>>a[i].price;
		a[i].kkksc03=1.0*a[i].price/a[i].weight;
	}
	sort(a+1,a+n+1);
	double sum=0.0,ans=0.0;
	int i=0;
	
	while(1){
		i++;
		if(a[i].weight<=w-sum) sum+=a[i].weight,ans+=a[i].price;
		else{
			double kkk=1.0*(w-sum)/a[i].weight*a[i].price;
			ans+=kkk;
			break;
		}
	}
	printf("%.2lf",ans);
	return 0;
}
2021/2/4 15:32
加载中...