[2016-03-31][codeforces][659C][Tanya and Toys]

Posted 红洋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[2016-03-31][codeforces][659C][Tanya and Toys]相关的知识,希望对你有一定的参考价值。

  • 时间:2016-03-31 23:49:13 星期四

  • 题目编号:[2016-03-31][codeforces][659C][Tanya and Toys].md

  • 题目大意:有$10^9$种物品,第i种物品价值i,已经用用n个物品,给m元,问最多能买多少个还没拥有的物品

  • 分析:贪心,从最低的开始买起,假设$m = 10^9$,那么也买的物品也不超过$10^6$个,因为$\frac{(1+k)k}{k} < 10^9$

  • 遇到的问题:答案可能为0

  1. #include <algorithm>
  2. #include <cstdio>
  3. using namespace std;
  4. int a[100000 + 10];
  5. int ans[1000000];
  6. int main(){
  7. int n,m;
  8. scanf("%d%d",&n,&m);
  9. for(int i = 0;i < n ; ++i){
  10. scanf("%d",&a[i]);
  11. }
  12. a[n] = 0;
  13. a[n + 1] = 1E9 + 10;
  14. sort(a,a+n+2);
  15. int cnt = 0;
  16. for(int i = 0;i < n+2 && m > 0; ++i){
  17. for(int j = a[i] + 1;j < a[i + 1] && m > 0;++j){
  18. m -= j;
  19. if(m < 0) break;
  20. ans[cnt++] = j;
  21. }
  22. }
  23. printf("%d\n",cnt);
  24. for(int i = 0;i < cnt;++i){
  25. printf("%d ",ans[i]);
  26. }
  27. printf("\n");
  28. return 0;
  29. }




以上是关于[2016-03-31][codeforces][659C][Tanya and Toys]的主要内容,如果未能解决你的问题,请参考以下文章

Cheatsheet: 2016 03.01 ~ 03.31

[2016-03-31][跳过UAC弹框提示]

“耐撕”团队 2016.03.31 站立会议

ElasticSearch 日期赋值

FFmpeg static build - MinGW32-GCC-5.3.0_x86-x64_D_Drive_for_FFmpeg_static_2016.03.31

比较下划线js中的两个对象数组