1070 Mooncake (25)

756 ワード

#include
using namespace std;
const int MAXN=1001;
struct Node{
	double num;
	double price;
	Node(){
		num=0;
		price=0;
	} 
}node[MAXN];
bool cmp(Node a,Node b){
	if(a.price!=b.price) return a.price>b.price;
}
int main()
{
	#ifndef ONLINE_JUDGE
	freopen("in.txt","r",stdin);
	#endif
	int n,d;
	cin>>n>>d;
	for(int i=0;i>node[i].num;
	}
	for(int i=0;i>temp;
		node[i].price=temp/node[i].num;
	}
	sort(node,node+n,cmp);
	double ans=0;
	for(int i=0;inode[i].num){
			ans=ans+node[i].price*node[i].num;
			d=d-node[i].num;
		}else{
			ans=ans+node[i].price*d;
			d=0;
		}
	}
	printf("%.2lf",ans);
	return 0;
}