20分求助!!!
  • 板块学术版
  • 楼主前方高能
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/8/3 23:44
  • 上次更新2023/11/3 06:02:33
查看原帖
20分求助!!!
550806
前方高能楼主2023/8/3 23:44

洛谷P2240 【深基12.例1】部分背包问题

到底是哪错了? 俺滴代码:

#include <bits/stdc++.h>
using namespace std;
struct c
{
	int a,b,c,d;
};
c g[100];
bool cmp(c a1,c a2)
{
	if(a1.c>a2.c)
	return true;
	return false;
}
int main() 
{
	int n,t;
	cin>>n>>t;
	for(int i=1;i<=n;i++)
	{
		cin>>g[i].a>>g[i].b;
		g[i].c=g[i].b*1.0/g[i].a;
		g[i].d=g[i].a*1.0/g[i].b;
	}
	sort(g+1,g+n+1,cmp);
	float u=0;
	for(int i=1;i<=n;i++)
	{
		if(t>=g[i].a)
		{
			t-=g[i].a;
			u+=g[i].b;
		}
		else
		{
			u+=g[i].c*t;
			break;
		}
	}
	printf("%.2f",u);
    return 0;
}
2023/8/3 23:44
加载中...