需要开 long long 吗?
  • 板块灌水区
  • 楼主yitian_
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/10/25 18:28
  • 上次更新2024/10/25 19:33:39
查看原帖
需要开 long long 吗?
1263486
yitian_楼主2024/10/25 18:28

感觉不用,但是不确定。

#include<bits/stdc++.h>
using namespace std;

struct fhy
{
	int a,b;
}h[1010]; 

bool cmp(fhy x,fhy y)
{
	return x.a>y.a;
}

int main()
{
//	freopen("wei.in","r",stdin);
//	freopen("wei.out","w",stdout);
	int n,m,k;
	cin >> n >> m >> k;
	for(int i=1;i<=k;i++) cin >> h[i].a;
	for(int i=1;i<=k;i++) cin >> h[i].b;	
	sort(h+1,h+k+1,cmp);
	for(int i=1;i<=k;i++)
	{
		int sum=ceil(double(m*1.0/h[i].a));
		int num=min({h[i].b,n,sum});
		n-=num;
		m-=(num*h[i].a);
		if(m<=0)
		{
			m=0;
			break; 
		}
	}
	if(n>m) cout << n-m;
	else cout << "No";
	return 0;
}

2024/10/25 18:28
加载中...