[CF1038D]Slime
[CF1038D]Slime
题目大意:
有\(n(n\le5\times10^5)\)只史莱姆,每只史莱姆有一个分数\(w_i(|w_i|le10^9)\),每次一只史莱姆可以吞掉左边的或者右边的史莱姆,然后它的分数会减去被吞的史莱姆的分数,问最后剩下的史莱姆分数最大为多少。
思路:
需要保证至少有一个+或-。
如果分数有正有负,那么答案为所有数绝对值之和,否则还需减去绝对值最小的分数的两倍。
源代码:
#include<cstdio>
#include<climits>
#include<iostream>
using int64=long long;
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(NULL);
std::cout.tie(NULL);
int n,x,min=INT_MAX;
std::cin>>n;
int64 sum=0;
bool b1=false,b2=false;
for(register int i=0;i<n;i++) {
std::cin>>x;
sum+=std::abs(x);
min=std::min(min,std::abs(x));
(x>0?b1:b2)=true;
}
if(n==1) {
std::cout<<x<<'\n';
return 0;
}
(!b1||!b2)?sum-=min<<1:0;
std::cout<<sum<<'\n';
return 0;
}
[CF1038D]Slime的更多相关文章
- CF1038D Slime 构造
题目大意: 有nnn只史莱姆qwq,每只史莱姆有一个分数,每次一只史莱姆可以吞掉左边的或者右边的史莱姆(要是有的话),然后ta的分数会减去被吞的史莱姆的分数,问最后剩下的史莱姆分数最大为多少 输入格式 ...
- 更新lispbox中的ccl和slime版本
首先C-x C-f然后输入~,找到.emacs文件,根据slime官方文档说明的添加如下代码到文件末尾,重启一下emacs,slime就编译好了,然后这段代码就可以删除.否则每次启动emacs就算不用 ...
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) A. Slime Combining 水题
A. Slime Combining 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2768 Description Your frien ...
- 编写php拓展实例--slime项目(用户登录会话类)
最近公司换了yaf框架,突然对用c实现php拓展感兴趣了,如果一个功能已经很稳定很成熟而且用的地方很多,那么我们就可以尝试用拓展实现(不一定每种情况都可以写成拓展),写成拓展后就不用每次用都包含一 ...
- Windows下安装Emacs+Sbcl+Slime
前言 其实网上已经有很多类似的文章了,我也是按照上面的来做.在做的过程中会遇到几个很坑的地方,我自己也是折腾了好久才弄好.所以现在写出来希望能对大家有所帮助. 正文 下载和安装Emacs http:/ ...
- slime+sbcl for common lisp
sudo apt-get install slime audo apt-get install sbcl ;;sbcl+slime for common lisp ;;sudo apt-get ins ...
- Common Lisp学习笔记(0):从SLIME开始 | 优哉·幽斋
Common Lisp学习笔记(0):从SLIME开始 | 优哉·幽斋 Common Lisp学习笔记(0):从SLIME开始
- 在 Emacs 中如何退出 Slime Mode
1.在 Slime 的 Buffer 中按逗号“,”: 2.在 Command 后输入:sayoonara 3.回车,确认. ================ 退出 SBCL 输入:(sb-ext:q ...
- Codeforces Round #508 (Div. 2) D. Slime
D. Slime 题目链接:https://codeforces.com/contest/1038/problem/D 题意: 给出两个数,然后每次可以对相邻的两个数合并,比如x,y,那么合并过后就是 ...
随机推荐
- Axure-----三级下拉菜单的具体实现过程
********三级下拉菜单的动画效果:********** 1.选中三级菜单将其转换为动态面板,命名为treePanel,并隐藏. 2.选中二级菜单添加交互效果:[切换可见性],勾选treePane ...
- Navicat Premium 12.1.8.0安装与激活
本文介绍Navicat Premium 12.1.8.0的安装.激活与基本使用. 博主所提供的激活文件理论支持Navicat Premium 12.0.x系列和Navicat Premium 12.1 ...
- “Error:(1, 1) java: 非法字符: '\ufeff'”错误解决办法
原因 用Windows记事本打开并修改.java文件保存后重新编译运行项目出现“Error:(1, 1) java: 非法字符: '\ufeff'”错误,如下图所示: 原来这是因为Window ...
- NetCore 生成RSA公私钥对,公钥加密私钥解密,私钥加密公钥解密
using Newtonsoft.Json; using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Crypto.Encodings; using ...
- Node 杂技
1.关于require 当文件夹a中含有index.js时,在b.js中如果有require("文件夹a的路径"),则将会自动执行index.js的语句
- centos6.5上安装redis3.2.1遇见的坑
解决方法: 安装gcc即可解决 解决方法: make MALLOC=libc 原因分析: 说关于分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redi ...
- python编码,赋值和is的区别
1. == 与 is 的区别 赋值 == 比较值是否相等,is 比较,比较的是内存地址. 小数据池的作用是节省内存空间 数字的范围:-5 到 256 共用一个数据池 字符串范围:1.不能有特殊字符.2 ...
- 做生活的有心人——xxx系统第一阶段总结
2017秋,桃子已经步入大学三年级了,觉得格外幸运 因为现在,有了学习的动力. 如果你和我一样也是在大学中后部分才意识到,自己是个大人了,思维模式开始转变开始融入一些前所未有的认知,觉得自己渺小得如沧 ...
- 018 easygui的使用
一:安装 1.说明 看到小甲鱼的视频,也看了一些人家的安装,感觉不是太好. 还是想使用pip这种傻瓜的安装方式. 这个地方在实验了很多次,总算是可以了. 2.安装 3.测试 二:小测试 1.输入窗口 ...
- Zookeeper安装使用
一:zookeeper介绍 Zookeeper 分布式协调组件.本质一个软件. Zookeeper常用功能 1 发布订阅功能.把zookeeper当作注册中心原因. 2 分布式/集群管理功能. 使用j ...