1 条题解
-
0
数学题
第一步:因为要尽可能拥有 A 芯片,所以要尽可能把 B 芯片都转成 A 芯片。
第二步:分两种情况。第一种情况,尽可能随机得到 B 芯片,再用 B 芯片变成 A 芯片。第二种情况,由于我们可能可以用少量的 B 芯片换到 A 芯片,于是我们不如直接随机获得 A 芯片,再获得尽量多的 B 芯片,两种情况直接取最大值即可。
代码:
#include<bits/stdc++.h> using namespace std; using ll=long long; int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int T;cin>>T;while(T--){ ll A,B,ca,cb,fa,ans=0;cin>>A>>B>>ca>>cb>>fa; A+=(B/cb)*ca; B%=cb; A=fa-A; if(A<=0) cout<<0<<"\n"; else cout<<max(A-1+cb-B,(A-1)%ca+(A+ca-1)/ca*cb-B)<<"\n"; } return 0; }
- 1
信息
- ID
- 2261
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 31
- 已通过
- 12
- 上传者