csuoj 1350: To Add Which?
这个题目其实很简单,可惜当时比赛的时候看到出的人少,以为有trick,就和队友扯淡去了;
因为每个数总是被相邻的数影响,所以往前往后扫两遍就行了;
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define maxn 100005 5 using namespace std; 6 7 int num[maxn]; 8 int num1[maxn]; 9 int num2[maxn]; 10 11 int main() 12 { 13 int t; 14 int n,d; 15 scanf("%d",&t); 16 while(t--) 17 { 18 long long ans=0; 19 scanf("%d%d",&n,&d); 20 for(int i=0;i<n;i++) 21 { 22 scanf("%d",&num[i]); 23 } 24 num1[0]=num[0]; 25 num2[n-1]=num[n-1]; 26 for(int i=1;i<n;i++) 27 { 28 if(num1[i-1]-num[i]>d) 29 num1[i]=num1[i-1]-d; 30 else num1[i]=num[i]; 31 } 32 for(int i=n-2;i>=0;i--) 33 { 34 if(num2[i+1]-num[i]>d) 35 num2[i]=num2[i+1]-d; 36 else num2[i]=num[i]; 37 } 38 for(int i=0;i<n;i++) 39 { 40 ans+=max(num1[i],num2[i])-num[i]; 41 } 42 printf("%lld\n",ans); 43 } 44 return 0; 45 }
View Code
转载于:https://www.cnblogs.com/yours1103/p/3470232.html
csuoj 1350: To Add Which?相关推荐
- YQ11-25 作业
/* 作业1 集合方式实现统计金额 流对象实现统计金额 */ /*对象封装*/ public class Firm {private String title;private String no;pr ...
- ArrayList add(int index,E element)
ArrayList add(int index,E element) add(E e)方法的代码 1 /** 2 * Appends the specified element to the end ...
- Java Calendar.add()方法的使用,参数含义。指定时间差。
cal.add()方法中的参数含义: 第一个参数如果是1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作. 第 ...
- Docker 入门系列(7)- Dockerfile 使用(FROM、RUN、CMD、EXPOSE、ENV、ADD、COPY、ENTRYPOINT、VOLUME、WORKDIR)
Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 来快速创建自定义的镜像. 1. 基本结构 Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行. ...
- git add . 之后 想执行回滚操作(git add 到本地仓库的代码回滚到没有add 之前的操作)
git add 到本地仓库的代码回滚到没有add 之前的操作 ,如果git 非常熟悉临时忘记了命令 回滚单个文件的命令:git restore --staged xx文件名 回滚所有add 的文件直 ...
- Multiple substitutions specified in non-positional format; did you mean to add the formatted=”false”
make 编译android代码的出现这样的错误 这个问题可能是跟android 的版本有关系就是xml 中的String.xml文件的文字使用%s 无法识别引起的, 不过有些版本可以识别 下面的就有 ...
- Kotlin 使用list.add 时候报错的处理方法
在Kotlin 中 使用list.add 方法的时候出现报错例如下面的现象 这个时候处理的方法就是把List 更换为MutableList 这样就不会报错了 下面是处理之后的.
- Can't add more than 2 views to a ViewSwitcher
最近使用到 TextSwitcher 来实现文字上下轮播的效果,出现了 Can't add more than 2 views to a ViewSwitcher 看了下源码 /*** {@inhe ...
- List 数据add进去的是一个bean 的时候删除数据的方法
这个时候要删除数据,也是用到add 进 list 里面的bean 然后使用for 循环对应里面的数据的方法 例如: selectList.remove(findSeatInfoBean(xx, xx) ...
最新文章
- 使用BlazeDS实现Java和Flex通信之hello world
- pythonifnotnone_python中if not x: 和 if x is not None: 和 if not x is None的使用和区别
- 在WCF中的异常处理方法
- 论文笔记_SLAM_Visual SLAM and Structure from Motion in Dynamic Environments A Survey
- Python 编程总结
- 2021年上半年系统集成项目管理工程师上午真题及答案解析
- matlab语法总结
- Android入门,android基础开发
- Android手机应用开发(一) | 基本的UI界面设计
- python 百度脑图json数据转Excel
- mac android 文件管理器,PC和Mac浏览安卓手机上文件最快的方式,只需两步
- CocosCreator接入穿山甲SDK(IOS)--激励视屏
- 自动复制吱口令html,解密!手机自动复制“吱口令”“淘口令”陷阱,罪魁祸首就是它!...
- iOS开发三方资源 - 欲先攻其事必先利其器
- 计算机专业顶级学术会议
- uni-app前端H5页面底部内容被tabbar遮挡的问题解决方案
- 易语言传文本到c 崩溃,win7系统易语言打开支持库配置就崩溃的解决方法
- 关键点检测项目代码开源了!
- 12款群岛部落风格lut预设Tribe Redleaf Flint Steel
- 深入体验了4大知名BI分析工具,终于找到了最适合我们公司的一款
热门文章
- Python Django 全局上下文代码示例
- 一个栈输入序列为1,2,3,4,5,则下列序列中不可能是栈的输出序列是?
- JDBC的CRUD操作之PreparedStatement的修改操作
- MySQL使用用户变量需确定取值的顺序
- Iterator迭代器并发修改异常问题解决
- php无刷新实现页面更新,使用laravel和ajax实现整个页面无刷新的操作方法
- Centos 7下查看当前目录大小及文件个数
- Qt C++模版函数示例
- 前后台json交互,以及数据库json转换——PHPThinkphp5.1
- 最好用的微型计算机,《微型计算机原理及应用》试题及答案 好