社区讨论
80分求助
P2240【深基12.例1】部分背包问题参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lu7rav97
- 此快照首次捕获于
- 2024/03/26 10:27 2 年前
- 此快照最后确认于
- 2024/03/26 16:23 2 年前
CPP
#include<iostream>
#include<vector>
#include<iomanip>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int n,t,m[101],v[101];
double a[101];
int main()
{
cin>>n>>t;
for(int i=0;i<n;i++)
{
cin>>m[i]>>v[i];
a[i]=v[i]*1.0/m[i];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(a[j]<a[j+1])
{
swap(a[j],a[j+1]);
swap(v[j],v[j+1]);
swap(m[j],m[j+1]);
}
}
}
double sum=0;
int k=0;
int j=0;
while(j<n-1)
{
for(int i=0;i<m[j];i++)
if(k<t)
{
sum+=a[j];
k++;
}
j++;
}
printf("%.2lf",sum);
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...