社区讨论

求 T1 这个代码是否是对的

学术版参与者 8已保存回复 7

讨论操作

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

当前回复
7 条
当前快照
1 份
快照标识符
@mijy46b1
此快照首次捕获于
2025/11/29 15:04
3 个月前
此快照最后确认于
2025/11/30 10:45
3 个月前
查看原帖
洛谷上过了,但强度可能不高。
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n , m , maxn = 1e18;
struct node{
	int x , y;
} a[200005];
bool cmp(node x , node y){
	return x.x < y.x;
}
signed main(){
	cin >> n >> m;
	for(int i = 1 ; i <= n ; i++){
		cin >> a[i].x >> a[i].y;
		maxn = min(maxn , a[i].x + a[i].y);
	}
	sort(a + 1 , a + 1 + n , cmp);
	int ans = m / maxn * 2;
	for(int i = 1 ; i <= n ; i++){
		if(m >= a[i].x){
			m -= a[i].x;
			ans = max(ans , i + m / maxn * 2);
		}
	}
	cout << ans;
	return 0;
}

回复

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

正在加载回复...