社区讨论
怎么搞呀?哪错了?
P2240【深基12.例1】部分背包问题参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lo1r1wet
- 此快照首次捕获于
- 2023/10/23 01:35 2 年前
- 此快照最后确认于
- 2023/11/03 02:13 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
struct jjb
{
double jjb1;
double jjb2;
double jjbm;
};
jjb jjb3[100];
bool cmp(jjb x,jjb y)
{
return x.jjbm >y.jjbm ;
}
int main()
{
double n,t,ans=0;
cin>>n>>t;
for(int i=0;i<n;i++)
{
cin>>jjb3[i].jjb1 >>jjb3[i].jjb2 ;
jjb3[i].jjbm =jjb3[i].jjb2 /(jjb3[i].jjb1*1.0);
}
sort(jjb3,jjb3+n,cmp);p
for(int i=0;i<n;i++)
{
if(jjb3[i].jjb1 <t)
{
t=t-jjb3[i].jjb1 ;
ans+=jjb3[i].jjb2 ;
}
else
{
ans+=jjb3.jjb2 -(jjb[i].jjb1 -t)*jjb3.jjbm *1.0;
break;
}
}
cout<<ans;
}
真的看不出来那错了...
回复
共 4 条回复,欢迎继续交流。
正在加载回复...