1028
贪心

#include<bits/stdc++.h>
using namespace std;
struct cole{int price;int v;double pre;
}arr[35];
bool cmp(cole a,cole b){return a.pre < b.pre;
}
int pow1(int x){int sum = 1;if(x == 0) return sum;for(int i = 1; i <= x; i++) sum = sum<<1; return sum;
}
int main(){long long n,bag;while(scanf("%lld%lld",&n,&bag)!=EOF){for(int i = 1; i<=n; i++) {scanf("%d",&arr[i].price);arr[i].v = pow1(i-1);arr[i].pre = (double)arr[i].price/arr[i].v;}sort(arr + 1,arr + n + 1,cmp);long long sum = 0,min = 0;int j = 1;while(bag > 0){int v = arr[j].v;int p = arr[j].price;sum += bag/v * p;if(j == 1){//最开始就用单价最小的买,多买一瓶min = sum + p;}if(bag % v == 0){//恰好可以用最优的解分完if(sum < min) min = sum;break;}if(sum + p < min){//进行比较min = sum + p;}bag %= v;j++;}cout << min << endl;}return 0;
}

pipioj 1028相关推荐

  1. [恢]hdu 1028

    2011-12-16 08:28:00 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1028 题意:一个整数n,可以表示为多少种和的形式. mark:dp ...

  2. PAT甲级1028 List Sorting:[C++题解]排序,cin和cout会超时

    文章目录 题目分析 题目链接 题目分析 用结构体来存,写三个排序函数. 本题需要注意的点是: 用cin来读会超时,所以用C语言的scanf来读.这样的话,就不能使用string,而是使用char数组. ...

  3. 1028. List Sorting (25)

    这道题目主要是排序,刚开始简单写了一个代码,发现最后一个测试数据.发现超时了,sort排序用的是快排.快排平均是O(NlogN),最坏是O(N*N).输入数据是10^5级的,最坏的情况会超过10^10 ...

  4. 百练OJ:1028:Web Navigation

    链接:http://bailian.openjudge.cn/practice/1028/ 1028:Web Navigation 描述 Standard web browsers contain f ...

  5. 1028: 在霍格沃茨找零钱

    1028: 在霍格沃茨找零钱 时间限制: 1 Sec  内存限制: 128 MB 提交: 316  解决: 147 [提交][状态][讨论版] 题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己 ...

  6. 1028 List Sorting

    1028 List Sorting (25 分) Excel can sort records according to any column. Now you are supposed to imi ...

  7. 1028. 人口普查(20)

    1028. 人口普查(20) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过200岁 ...

  8. POJ 1028 浏览器前进后退(双栈)

    题目链接:http://poj.org/problem?id=1028 我的相同博文参考:https://blog.csdn.net/qq_21201267/article/details/88938 ...

  9. C++学习之路 | PTA乙级—— 1028 人口普查 (20 分)(精简)

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

最新文章

  1. 【经典书单】NLP秘笈汇总,从入门到进阶
  2. php 怎么打印条形码,php – 如何在垂直标签中垂直打印zpl条形码
  3. 平滑重启更新(GR机制)
  4. 基于supermap webgl三维楼层显隐控制思路
  5. Python实现GitBook工具
  6. Replace Delegation with Inheritance(以继承取代委托)
  7. 计算机网络中什么叫总衰耗_计算机网络中的“带宽”,为什么是指“在单位时间内...
  8. 程序员身体容易出什么毛病..
  9. php aes java_AES php java 互转
  10. Linux 上的数据可视化工具
  11. IEEE论文格式要求(翻译)
  12. Apache和Httpd是什么关系
  13. QObject::moveToThread: Current thread(...) is not the object`s thread. Cannot move to target thread(
  14. 带宽、吞吐量与线速的关系(转载)
  15. ChineseGLUE:为中文NLP模型定制的自然语言理解基准
  16. 仿射密码加密解密实现
  17. 为什么有些人钱花了而赚不到钱呢?
  18. 海康威视2019年校园招聘内推码(2019届春招、2020届实习/秋招)
  19. CentOS 7 最小安装后的 简易桌面安装
  20. 【观察】打造中国“酷公司”新标杆,联想陪伴中小企业共同成长

热门文章

  1. 教程篇 | 史上最简单也最全新手Revit教程
  2. C++11-列表初始化/变量类型推导/范围for/finaloverride/默认成员函数控制
  3. Git遇到fatal: Could not read from remote repository.解决方案
  4. python循环引用的解决办法
  5. 第一周 Web开发入门(下)
  6. openGL之几何变换(绘制球体)---openGL学习笔记(六)
  7. Java web期末
  8. 一、Tomcat概述
  9. 推荐一部美国电影---‘’决胜21点‘’O(∩_∩)O
  10. 《Python数据科学入门》之阅读笔记(第2章)