Codeforces 371C : Hamburgers

#include<bits/stdc++.h>
using namespace std;
char B='B',S='S',C='C';
string t;
int nb,ns,nc,pb,ps,pc,len;
long long r1;
map<char,int> m;
bool check(long long m1)
{
long long need=;
if(m1*m[B]>nb)
need+=(m1*m[B]-nb)*pb;
if(m1*m[S]>ns)
need+=(m1*m[S]-ns)*ps;
if(m1*m[C]>nc)
need+=(m1*m[C]-nc)*pc;
return need<=r1;
}
int main()
{
int num=;
cin>>t;
len=t.length();
for(int i=;i<len;i++)
{
m[t[i]]++;
}
cin>>nb>>ns>>nc>>pb>>ps>>pc>>r1;
long long l=,r=max(max(nb,ns),nc)+r1,mid;
while(l<=r)
{
mid=(l+r)/;
if(check(mid))
{
l=mid+;
}
else
r=mid-;
}
cout<<r<<endl;
return ;
}

样例

HDU 2141 : Can you find it?

签到题(艹)

样例

#include<bits/stdc++.h>
using namespace std;
int L,N,M,a[],b[],c[],d[],S,x,k;
int check(int d1[],int c1[],int X)
{
int l=,r=k-,m;
for(int i=;i<M;i++)
{
if(d1[r]+c1[i]<X)
continue;
l=;
r=k-;
while(l<=r)
{
m=(l+r)/;
if(d1[m]+c1[i]==X)
return ;
if(d1[m]+c1[i]<X)
{
l=m+;
}
else
{
r=m-;
}
}
}
return ;
}
int main()
{
// freopen("1.in","r",stdin);
int num=;
while(cin>>L>>N>>M)
{
num++;
k=;
cout<<"Case "<<num<<":"<<endl;
for(int i=;i<L;i++)
cin>>a[i];
for(int i=;i<N;i++)
cin>>b[i];
for(int i=;i<M;i++)
cin>>c[i];
sort(c,c+M);
for(int i=;i<L;i++)
{
for(int j=;j<N;j++)
{
d[k]=a[i]+b[j];
k++;
}
}
sort(d,d+k);
cin>>S;
while(S--)
{
cin>>x;
int t=check(d,c,x);
if(t)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return ;
}

主要思路是把前两个数组的元素两两相加后与第三个数组元素相加的时候使用二分法简化步骤

最新文章

  1. 《深入理解Java虚拟机》Java内存区域与内存溢出异常
  2. Navicat常用快捷键
  3. 7.5---两个正方形分成对半的直线(CC150)
  4. Spark集群 + Akka + Kafka + Scala 开发(4) : 开发一个Kafka + Spark的应用
  5. hdoj 5389 Zero Escape
  6. 用一个例子学习CSS的伪类元素
  7. Spark1.0.0新特性
  8. 解决TableView / ScrollView上的Menu问题(1滑出View区域还可点击2导致点击menu后View不能滑动)
  9. careercup-排序和查找 11.1
  10. 配置Myeclipse中的项目部署到服务器,报the selected server is enabled, but is not configured properly.
  11. log4net 生成多个空文件问题
  12. 桥模式设计模式进入Bridge
  13. MFC控件(9):network address control
  14. HDU - 2680 最短路 spfa 模板
  15. USACO Section 1.1 Greedy Gift Givers 解题报告
  16. Jmeter二次开发代码(2)
  17. jmap -histo pid 输出的[C [B [I [S methodKlass constantPoolKlass含义
  18. 你使用的ie版本过低请。。。
  19. [C#] LINQ之Join与GroupJoin
  20. python中的单例

热门文章

  1. Python实现冒泡,选择排序
  2. Android LinkedList和ArrayList的区别
  3. Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程
  4. 什么是J2EE
  5. Selenium之TestNG安装
  6. vue知识点之day5
  7. No value specified for &#39;Date&#39;错误
  8. Linux入门-8 Linux系统启动详解
  9. 对于over-posting的防御
  10. docker容器修改hosts文件,重启失效问题解决