Codeforces-Hello 2018C. Party Lemonade(贪心)

Posted xFANx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces-Hello 2018C. Party Lemonade(贪心)相关的知识,希望对你有一定的参考价值。

传送门

 

N个数,代表得到2^(i-1)次幂的花费,求构造L的最小花费

 

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 #include <algorithm>
 5 #define INF 0x3f3f3f3f
 6 using namespace std;
 7 typedef long long LL;
 8 
 9 LL val[40];
10 bool vis[40];
11 int N;
12 LL L;
13 
14 int main() {
15     scanf("%d%lld", &N, &L);
16     val[0] = 1000000000;
17     LL tmp;
18     for (int i = 1; i <= N; i++) {
19         scanf("%lld", &tmp);
20         val[i]= min(tmp, 2 * val[i - 1]);
21     }
22     for (int i = N + 1; i <= 31; i++) {
23         val[i] = 2 * val[i - 1];
24     }
25     int high = 0;
26     LL ans = 0;
27     for (int i = 30; i >= 0; i--) {//power
28         LL tmp = 1LL << i;
29         if (L >= tmp) {
30             L -= tmp;
31             vis[i] = 1;
32         }
33     }
34     for (int i = 0; i <= 30; i++) {
35         ans = min(ans, val[i + 1]);
36         if (vis[i]) {
37             ans += val[i + 1];
38         }
39     }
40     printf("%lld\n", ans);
41     return 0;
42 }

 

以上是关于Codeforces-Hello 2018C. Party Lemonade(贪心)的主要内容,如果未能解决你的问题,请参考以下文章

2018年3月份的PTA

hdu6440 Dream 2018CCPC网络赛C 费马小定理+构造

Excel帮助:如果在日期范围内,则汇总数字

PKUWC2018随机算法

HAOI2018 简要题解

mysql 导入导出sql文件