【Codeforces】913C Party Lemonade (贪...)。
http://codeforces.com/contest/913/problem/C
这个题和以前见过的有点不一样,可以重复选择,这个有点emmm
首先将a数组优化,举个例子,如果1L20元,2L50元,那么将a[1]赋值为40,而不是50。
之后就是进行选择,从体积多的开始选择。
num 表示 全部选择V升的饮料,尽可能地满足need,需要的V升饮料的数量,可能小于need,可能等于need。
ans 表示在上一个状态的基础上进行比较(...)
#include <iostream>
#include <cstring>
#include <algorithm>
#include <string>
#include <cmath>
using namespace std;
typedef long long ll;
int a[35];
ll ans = 9223372036854775807;
int main ()
{int i,n,need;cin >> n >> need;cin >> a[0];for(i=1;i<n;i++){cin >> a[i];a[i] = min(a[i],2*a[i-1]);}/*for(i=0;i<n;i++){cout << a[i] << " ";}cout << "\n---------------------\n";*/ll V,num,sum=0;for(i=n-1;i>=0;i--){V = pow(2,i);num = need/V;//cout << "V = " << V << endl;//cout << "num = " << num << endl;need -= num*V;//cout << "need = " << need << endl;//cout << "sum = " << sum << endl;//cout << "ans = " << ans << endl;ans = min(sum+(num+1)*a[i],ans);sum += num*a[i];//cout << "sum = " << sum << endl;//cout << "ans = " << ans << endl;//cout << "---------------------\n";}sum = min(ans,sum);cout << sum << endl;return 0;
}
Input
4 12
20 30 70 90
Output
150
Input
4 3
10 100 1000 10000
Output
30
【Codeforces】913C Party Lemonade (贪...)。相关推荐
- 贪心 ---- Codeforces Global Round 8,B. Codeforces Subsequences[贪心,贪的乘法原理]
题目链接 给出字符串,统计子串(子串字母可以跳跃)是codeforces的数量. 本题要求,给出子串最少数量k,构造字符串s,要求字符串s包含的字母数量最少,输出这个最少的字符串s. 题目要求是至少有 ...
- Codeforces 题目合集+分类+代码 【Updating...】【361 in total】
961A - Tetris 模拟 ...
- 【Codeforces】158B-Taxi(贪心,怎么贪咧)
贪心 emmmm http://codeforces.com/contest/158/problem/B 题目大意:有四种旅客,四人一组,三人一组,两人一组,一人一组,一辆出租车最多可以 ...
- 源哥每日一题第一弹 codeforces 913 C. Party Lemonade
题目连接:http://codeforces.com/problemset/problem/913/C 题意:n个物品 ,第i个物品的体积是2^i-1 花费是ci 每种物品无限使用 问取物品总体积大于 ...
- 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 贪心 Codeforces Round #300 A Cutting Banner
题目传送门 1 /* 2 贪心水题:首先,最少的个数为n最大的一位数字mx,因为需要用1累加得到mx, 3 接下来mx次循环,若是0,输出0:若是1,输出1,s[j]--: 4 注意:之前的0的要忽略 ...
- codeforces 435 B. Pasha Maximizes 解题报告
题目链接:http://codeforces.com/problemset/problem/435/B 题目意思:给出一个最多为18位的数,可以通过对相邻两个数字进行交换,最多交换 k 次,问交换 k ...
- CodeForces - 1509C The Sports Festival(dp)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的数列,现在需要对其进行重排列,使得贡献之和最小 对于一个排列的贡献来说,对于每个 iii ,则 di=max(a1,a2,...,ai)−min ...
- Codeforces 678E. Another Sith Tournament(概率DP,状压)
Codeforces 678E. Another Sith Tournament 题意: n(n<=18)个人打擂台赛,给定任意两人对决的胜负概率,比赛规则:可指定一人作为最开始的擂主,每次可指 ...
最新文章
- How to Use tomcat on Linux
- linux线程join的用法,join用法
- printf输出颜色和ANSI控制码(高亮,下划线,闪烁,光标位置,清屏等)
- html鼠标点击有手势出来,用原生js+css3撸的一个下拉手势事件插件
- C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)...
- oracle 11gdata guard,Oracle 11g Data Guard配置
- python web开发-flask访问请求数据request
- java unsafe park_Java魔法类——Unsafe应用解析
- Excel 取消身份证的科学计数法显示形式
- 移动通信-WCDMA物理信道
- MediaPipe基础(5)Pose(姿势)
- 流利阅读12.31 The science of giving gifts your loved ones won’t want to return
- 微信小程序加签验签(wxapp_rsa,jsencrypt)和egg搭建的后端交互(jsrsasign,node_rsa)最全!!!
- HTML5介绍,HTML5语义化标签
- 破防了,这4款良心高效的优质软件,着实把我感动到了
- 广州积分入户需要满足哪些条件
- c语言输出菱形13579,C语言怎样输出菱形
- 未来两年前装激光雷达规模超150万颗,技术路线博弈下的市场
- 线代第三章 向量(线性表出、线性相关)
- 基于java的网上零食销售系统的设计与实现