[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的更多相关文章

  1. CF1038D Slime 构造

    题目大意: 有nnn只史莱姆qwq,每只史莱姆有一个分数,每次一只史莱姆可以吞掉左边的或者右边的史莱姆(要是有的话),然后ta的分数会减去被吞的史莱姆的分数,问最后剩下的史莱姆分数最大为多少 输入格式 ...

  2. 更新lispbox中的ccl和slime版本

    首先C-x C-f然后输入~,找到.emacs文件,根据slime官方文档说明的添加如下代码到文件末尾,重启一下emacs,slime就编译好了,然后这段代码就可以删除.否则每次启动emacs就算不用 ...

  3. 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 ...

  4. 编写php拓展实例--slime项目(用户登录会话类)

      最近公司换了yaf框架,突然对用c实现php拓展感兴趣了,如果一个功能已经很稳定很成熟而且用的地方很多,那么我们就可以尝试用拓展实现(不一定每种情况都可以写成拓展),写成拓展后就不用每次用都包含一 ...

  5. Windows下安装Emacs+Sbcl+Slime

    前言 其实网上已经有很多类似的文章了,我也是按照上面的来做.在做的过程中会遇到几个很坑的地方,我自己也是折腾了好久才弄好.所以现在写出来希望能对大家有所帮助. 正文 下载和安装Emacs http:/ ...

  6. slime+sbcl for common lisp

    sudo apt-get install slime audo apt-get install sbcl ;;sbcl+slime for common lisp ;;sudo apt-get ins ...

  7. Common Lisp学习笔记(0):从SLIME开始 | 优哉·幽斋

    Common Lisp学习笔记(0):从SLIME开始 | 优哉·幽斋 Common Lisp学习笔记(0):从SLIME开始

  8. 在 Emacs 中如何退出 Slime Mode

    1.在 Slime 的 Buffer 中按逗号“,”: 2.在 Command 后输入:sayoonara 3.回车,确认. ================ 退出 SBCL 输入:(sb-ext:q ...

  9. Codeforces Round #508 (Div. 2) D. Slime

    D. Slime 题目链接:https://codeforces.com/contest/1038/problem/D 题意: 给出两个数,然后每次可以对相邻的两个数合并,比如x,y,那么合并过后就是 ...

随机推荐

  1. bootstrap和easyui

    1.easyui:自定义的样式要在原先的easyui样式之前引入,这样自定义的样式才能把原先的样式覆盖,即放置顺序为: <link rel="stylesheet" href ...

  2. python 作用域

    什么是命名空间 == 对一个名字起作用的范围 # def test():# print("----test----") # import test# test.test() # f ...

  3. python 装饰器--对有无参数的函数进行装饰

    # 使用装饰器无参数的函数进行装饰# def func(funcionName): # print('-----1------') # def func_in(): # print('--func_i ...

  4. caffe关闭建立网络的log输出

    C++ google::InitGoogleLogging("XXX"); google::SetCommandLineOption("GLOG_minloglevel& ...

  5. Pytorch学习笔记

    非线性回归问题的参数求解,反向求导基本流程.Variable 计算时, 它在后台一步步默默地搭建着一个庞大的系统, 叫做计算图, computational graph. 这个图将所有的计算步骤 (节 ...

  6. mysql8.0.11绿色版安装教程

    解压到安装目录 在根目录建立data文件夹 建立my.ini文件 代码如下 # Other default tuning values # MySQL Server Instance Configur ...

  7. jquery实时监听输入框值变化

    在做web开发时候很多时候都需要即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感.而采用onchange时间又往往是在输入框失去焦点(onblur)时候触发,有时候并不能满足条 ...

  8. bzoj4059

    题解: 还是一道不错的题目 首先它要求每个区间都满足要求,所以我们很容易想到将它映射到二维平面上 然后我们算出每个数的前驱以及后继li,ri 那么第一维是li-i,第二维是i-ri的区间就是合法的,同 ...

  9. nginx proxy_pass指令’/’注意事项

    1. proxy_pass配置说明 不带/ location /test/ { proxy_pass http://t6:8300; } 带/ location /test/ { proxy_pass ...

  10. redis监控脚本

    while [ 1 == 1 ]  ; do   now=$(date "+%Y-%m-%d_%H:%M:%S")  ; echo "================== ...