设一次上去a层,一次下去b层,有x次上去,有(n-x)次下去

则ax - (n-x)b >= 1

x >= (nb+1) / (a+b)

如果可以整除, x = (nb+1) / (a+b)

否则  x = (nb+1) / (a+b) +1

算出x后再带到ax - (n-x)b里就是当前的最优答案

#include<cstdio>
#include<algorithm>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std; int main()
{
int n, m;
while(~scanf("%d%d", &n, &m))
{
int a, b, ans = 2e9;
while(m--)
{
scanf("%d%d", &a, &b);
int x;
if((n * b + 1) % (a + b) == 0) x = (n * b + 1) / (a + b);
else x = (n * b + 1) / (a + b) + 1;
ans = min(ans, a * x - (n - x) * b);
}
printf("%d\n", ans);
}
return 0;
}

最新文章

  1. 转-decorators.xml的用法-http://blog.csdn.net/gavinloo/article/details/7458062
  2. 解决erlang节点启动失败报[&quot;inet_tcp&quot;,econnrefused]的问题
  3. 使用TCMalloc的堆栈检查
  4. 解决一台机器同时运行多个Tomcat服务
  5. idea新建项目完整过程
  6. [codevs1380]没有上司的舞会
  7. .net mvc datatables中orderby动态排序
  8. 关于bat文件语法
  9. [100个改变摄影的伟大观念].(英)玛瑞恩.高清扫描版.pdf
  10. 【winform】datagridview获取当前行停留时间
  11. pyothon学习笔记2-元组
  12. python-web微信实现
  13. Gerrit日常维护记录
  14. 说说流控制(RTS/CTS/DTR/DSR 你都明白了吗?)【转】
  15. 使用两个栈来完成一个队列,需要是实现的功能有add,poll.peek
  16. 洛谷P4396 [AHOI2013]作业(树套树)
  17. Beta阶段——Scrum 冲刺博客第二天
  18. 淡雅清新教师求职简历免费word模板
  19. linkhashmap实现原理
  20. ElasticSearch + Canal 开发千万级的实时搜索系统【转】

热门文章

  1. Effective JavaScript Item 34 在prototype上保存方法
  2. Windows10+VS2013+caffe+Python2.7+CUDA8.0 部署配置
  3. Lists and tuples
  4. Android RecyclerView和ScrollView嵌套使用
  5. ViewPager设置不能滚动
  6. Ajax的几种形式 和使用情况
  7. Rain and Umbrellas(dp)
  8. [笔记-图论]Dijkstra
  9. cygwin下调用make出现的奇怪现象
  10. PHP实时生成并下载超大数据量的EXCEL文件