社区讨论

有大佬知道这个代码的问题吗,能过p2240的样例,却过不了测试?

学术版参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lo99afjy
此快照首次捕获于
2023/10/28 07:40
2 年前
此快照最后确认于
2023/10/28 07:40
2 年前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
typedef struct {
	int m,v;
}bag; 
bool cmp (bag a ,bag b) {
	return a.v*b.m>b.v*a.m;
}
int main () {
	int a,b,n,t,sum;
	cin >>n >> t;
	bag *p=new bag[n];
	for (a=0;a<n;a++) cin >> p[a].m >> p[a].v;
	sort (p,p+n,cmp);
	for (a=0;a<n;a++)  p[a].v=p[a].v*1.0/p[a].m;
	for (sum=b=a=0;a<t;b++) {
		if ((a+p[b].m)>t) {
			sum=sum+(t-a)*p[b].v;
			a=t;
			break;
		} else {
			a+=p[b].m;
			sum+=p[b].m*p[b].v;
		}
		
	}
	printf ("%0.2lf",sum*1.0);
} 

回复

0 条回复,欢迎继续交流。

正在加载回复...