找回密码
 立即注册
首页 业界区 安全 NOIP2025 题解

NOIP2025 题解

芮梦月 昨天 16:40
虽迟但到。
T1.糖果店

记 \(s_i=x_i+y_i\),设第 \(i\) 种糖果买了 \(r_i\) 个,记 \(r_i=2p_i+q_i\)(\(0\le q_i\le 1\)),则总价为 \(p_is_i+q_ix_i\),则显然只有 \(s_i\) 最小的 \(p_i\ne 0\),记为 \(s_j\);也显然只有最小的若干个 \(x_i\) 的 \(q_i=1\),于是把 \(x\) 排序,枚举一段前缀的 \(q_i=1\),剩下的钱全都买 \(s_j\) 即可。
点击查看代码[code]#include#define LL long longusing namespace std;const int N=1e5+5;int n,a[N],b[N];LL m,ans;signed main(){//        freopen("candy.in","r",stdin);//        freopen("candy.out","w",stdout);        ios::sync_with_stdio(false);        cin.tie(0),cout.tie(0);        cin>>n>>m;        int mn=INT_MAX;        for(int i=1;i>a>>b;                mn=min(mn,a+b);        }        sort(a+1,a+n+1);        LL sum=0;        for(int i=0;im) break;                LL tmp=m-sum;                ans=max(ans,2ll*(tmp/mn)+i);                        }        cout

相关推荐

您需要登录后才可以回帖 登录 | 立即注册