CF1200B
CF1200B
解法:
贪心。当在第i列时,尽可能多的取走第i列的木块使得袋子里的木块尽可能多
CODE:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 1e3 + 5;
int n,m,k,T,h[N];
int main() {
scanf("%d",&T);
while(T--) {
scanf("%d%d%d",&n,&m,&k);
for(int i = 1 ; i <= n ; i++)
scanf("%d",&h[i]);
if (n == 1) {
puts("YES");
continue;
}
int pos = 1;
for(int i = 2 ; i <= n ; i++) {
if(h[pos] > h[i]) {
int t = h[pos] - h[i] + k;
if (t > h[pos])
t = h[pos];
m += t;
pos++;
} else if (h[i] - h[pos] <= k) {
int t = k - h[i] + h[pos];
if (t > h[pos])
t = h[pos];
m += t;
pos++;
} else if (h[i] - h[pos] <= k + m) {
m -= h[i] - h[pos] - k;
pos++;
} else {
puts("NO");
break;
}
}
if (pos == n) puts("YES");
}
//system("pause");
return 0;
}
CF1200B的更多相关文章
随机推荐
- 在论坛中出现的比较难的sql问题:6(动态行转列 考试科目、排名动态列问题)
原文:在论坛中出现的比较难的sql问题:6(动态行转列 考试科目.排名动态列问题) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 下面的几个问题,都是动态行转列的问题. ...
- nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法
最近想要尝试nodejs连接本地数据库,往全栈方向做一个小小的尝试,于是下载了一个 MySQL8.0,发现Navicat连接不上,结果就下载了mysql自身的Workbench,继续使用. 然而,难受 ...
- JS基础_this补充
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 使用shared memory 计算矩阵乘法 (其实并没有加速多少)
#include "cuda_runtime.h" #include "device_launch_parameters.h" #include "d ...
- iOS音频频谱动画,仿QQ录音频谱
先上效果图: display.gif 有需要的请移步GitHub下载: https://github.com/HuangGY1993/GYSpectrum 用法很简单,示例: SpectrumView ...
- jquery操作select下拉框:取值,赋值,删除
1.jQuery对select的取值 <select id="test"> <option value ="1">测试1</opt ...
- python 链接impala执行SQL
项目中用python来链接impala数据库最常见,一个简单的链接,获取结果. #!/usr/bin/python # -*- coding:utf-8 -*- from impala.dbapi i ...
- 一组简单好看的css3渐变按钮
主要代码如下: body { background:#fff } /* Mixins */ /* bg shortcodes */ .bg-gradient1 span,.bg-gradient1:b ...
- linux命令详解——eval
shell中的eval 功能说明:重新运算求出参数的内容. 语 法:eval [参数] 补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行. 参 数:参数不限数目,彼此之间用分号分开. ...
- 学习使用Django一 安装虚拟环境
以上环境可以先在虚拟机上操作,熟练之后再正式机操作!!! 再学习Djangj之前,先讲个小概念,虚拟环境 记得刚刚开始学习Python的时候,往往是用的那个包,就Cmd 上 直接输入“pip ...