社区讨论
用数学,dalao求调
P13013[GESP202506 五级] 奖品兑换参与者 4已保存回复 13
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 11 条
- 当前快照
- 1 份
- 快照标识符
- @mls38zhj
- 此快照首次捕获于
- 2026/02/18 21:49 13 小时前
- 此快照最后确认于
- 2026/02/19 10:56 2 分钟前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,a,b;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m>>a>>b;
if(n<m){
swap(n,m);
}
if(a<b){
swap(a,b);
}
if(a==b){
cout<<m/a;//只能满足较少的数量
return 0;
}
if(m<b||n<a){
cout<<0;
return 0;
}
int ans=min((n+m)/(a+b),min(n/b,m/b));
cout<<ans;
return 0;
}
/*
设答案为k
k有上限:
k<=(n+m)/(a+b)
满足后~~~~~45分
特判a==b
满足后~~~~~50分
重点:
k还有两个上限:
因为所有礼物里课堂券必须够,有:
k<=n/min(a,b)
//a,b中少的数来兑换,有上限
因为所有礼物里作业券必须够,有:
k<=m/min(a,b)
//a,b中少的数来兑换,有上限
*/
回复
共 13 条回复,欢迎继续交流。
正在加载回复...