
#include <iostream>#include <algorithm>#include <cmath>#include <stdio.h>#include <cstring>#include <string>#include <cstdlib>#include <queue>#include <stack>#include <set>#include <vector>#include <map>#include <List>//#include <>using namespace std; string s; char ss[103]; int slen; int nb,ns,nc; int pb,ps,pc,pnum; long long mon;struct hum{ int bre; int sau; int che; long long price; }h[1];long long money(long long mID){ long long a,b,c; a=mID*h[0].bre-nb; b=mID*h[0].sau-ns; c=mID*h[0].che-nc; if(a<0) a=0; if(b<0) b=0; if(c<0) c=0; return a*pb+b*ps+c*pc;}int main(){ //汉堡的组成 cin>>s; slen=s.length(); strcpy(ss,s.c_str()); //结构体汉堡的初始化 h[0].bre=0; h[0].che=0; h[0].sau=0; h[0].price=0; for(int i=0;i<=slen;++i) { if(s[i]==‘B‘) h[0].bre++; if(s[i]==‘C‘) h[0].che++; if(s[i]==‘S‘) h[0].sau++; } //cout<<h[0].bre<<" "<<h[0].che<<" "<<h[0].sau<<" "<<endl;检测初始化好了没QAQ //材料的输入 scanf("%d%d%d%d%d%d",&nb,&ns,&nc,&pb,&ps,&pc); h[0].price=pb*h[0].bre+ps*h[0].sau+pc*h[0].che; cin>>mon;//------------材料的处理 long long l=0,r=1e15,mID=(l+r)/2; while(l<r) { if(money(mID)<=mon) l=mID+1; else r=mID; mID=(l+r)/2; } if(money(mID)>mon) cout<<mID-1<<endl; else cout<<mID<<endl; return 0;}总结
以上是内存溢出为你收集整理的CodeForces- 371C Hamburgers全部内容,希望文章能够帮你解决CodeForces- 371C Hamburgers所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)