Codeforces 371C Hamburgers(二分基础题)

点击这里进入题目


题目大意:给你一个字符串表示一个汉堡的结构,一个汉堡由BSC三个字母组成,然后给你你有的BSC原料的数目,和如果要购买BSC的价格。告诉你你所拥有的金钱,问最多能做出几个汉堡。


思路:很明显这符合单调性,可以直接二分出能做几个汉堡,check也很好写,基本是个二分模板题。


AC程序:

//库省略
using namespace std;
int b,s,c;
ll nb,ns,nc;
int cb,cs,cc;
string ss;
ll mon;
bool check(ll num)
{ll bb=(num*b-nb)*cb,ss=(num*s-ns)*cs,ccc=(num*c-nc)*cc;if(bb<0)bb=0;if(ss<0)ss=0;if(ccc<0)ccc=0;if (bb+ss+ccc<=mon)return 1;return 0;
}
int main()
{cin>>ss;for(int i=0;iif(ss[i]=='B')b++;elseif(ss[i]=='S')s++;elsec++;}cin>>nb>>ns>>nc;cin>>cb>>cs>>cc;cin>>mon;ll l=0,r=1e14,mid;while(l2;if(check(mid))l=mid+1;elser=mid;}cout<1<return 0;
}

转载于:https://www.cnblogs.com/NightRaven/p/9333241.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部