社区讨论
luogu上坠机了55分 官方数据大概会多少
P14635[NOIP2025] 糖果店参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mijziahk
- 此快照首次捕获于
- 2025/11/29 15:43 3 个月前
- 此快照最后确认于
- 2025/11/30 11:55 3 个月前
CPP
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e5 + 10;
ll n, m;
struct node {
ll a, b;
} a[N];
int main() {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> n >> m; ll mn = LLONG_MAX;
for(int i=1; i<=n; i++) {
cin >> a[i].a >> a[i].b; mn = min(mn, a[i].a);
}
if(m < mn) {
cout << "0"; return 0;
}
sort(a+1, a+n+1, [](node a,node b){return a.a+a.b<b.a+b.b;});
ll tmp = a[1].a + a[1].b, res = a[1].a, ans = 0; a[1].a = 1e10;
sort(a+1, a+n+1, [](node a,node b){return a.a<b.a;});
ll now = 0, las = 0;
for(int i=1; i<n; i++) {
if(a[i].a*2 <= tmp) now += a[i].a, ans++, las = i;
else break;
}
cout << ans << " ";
ll ans2 = ans - 1, now2 = now - a[las].a;
if(m - now >= tmp) ans += 2*(m-now)/tmp, now += (m-now)/tmp*tmp;
if(m - now >= res) ans++;
if(m - now2 >= tmp) ans2 += 2*(m-now2)/tmp, now2 += (m-now2)/tmp*tmp;
if(m - now2 >= res) ans2++;
cout << max(ans, ans2);
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...