【SPOJ-GSHOP】Rama and Friends【贪心】【细节】
题意:
给出n个非严格递增的整数(可能有负数),必须操作k次。每次能够把当中一个数变为它的相反数,使得终于的数列和最大。
输出这个最大和。
考验怎样出坑数据卡自己的程序...
- #include <cstdio>
- const int maxn = 105;
- int n, k, num[maxn];
- inline int iread() {
- int f = 1, x = 0; char ch = getchar();
- for(; ch < '0' || ch > '9'; ch = getchar()) f = ch == '-' ? -1 : 1;
- for(; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';
- return f * x;
- }
- int main() {
- int T = iread();
- while(T--) {
- n = iread(); k = iread();
- int cnt = 0, sum = 0;
- for(int i = 1; i <= n; i++) {
- num[i] = iread();
- cnt += (num[i] < 0);
- sum += num[i];
- }
- if(k <= cnt) for(int i = 1; i <= k; i++) sum -= 2 * num[i];
- else if(k > cnt) {
- for(int i = 1; i <= cnt; i++) sum -= 2 * num[i];
- if(cnt == 0) sum -= ((k - cnt) & 1) * 2 * num[1];
- else if(cnt < n) {
- if(-num[cnt] < num[cnt + 1]) sum += ((k - cnt) & 1) * 2 * num[cnt];
- else sum -= ((k - cnt) & 1) * 2 * num[cnt + 1];
- } else sum += ((k - cnt) & 1) * 2 * num[cnt];
- }
- printf("%d\n", sum);
- }
- return 0;
- }
提供一些数据:
- 20
- 1 100
- 0
- 1 1
- 0
- 2 1
- -9 -1
- 2 100
- -9 -1
- 2 101
- -9 -1
- 3 1
- -3 -1 10
- 3 2
- -3 -1 10
- 3 3
- -3 -1 10
- 3 100
- -3 -1 10
- 3 101
- -3 -1 10
- 3 200
- -3 -2 -1
- 5 200
- -3 -2 -1 0 1
- 5 200
- -3 -2 -1 4 5
- 5 7
- 0 1 2 3 4
- 6 4
- -3 -2 -1 1 2 3
- 5 3
- 0 0 0 0 1
- 5 4
- -2 -1 0 2 5
- 6 4
- -30 -20 -10 100 100 200
- 6 4
- -30 -20 -10 1 2 3
- 6 1
- 1 2 3 4 5 6
输出:
- 0
- 0
- 8
- 10
- 8
- 12
- 14
- 12
- 14
- 12
- 4
- 7
- 13
- 10
- 10
- 1
- 10
- 440
- 64
- 19
【SPOJ-GSHOP】Rama and Friends【贪心】【细节】的更多相关文章
- CF767 B. The Queue 贪心+细节
LINK 题意:一个业务开始时间为s,结束时间为f,一个人办护照的时间需要m分(如果在x时开始服务,且x+m==f那么还是合法的),你可以选择任意时间到达,但如果你和其他人同时到达,你要排在他的后面. ...
- BZOJ 4278: [ONTAK2015]Tasowanie 后缀数组 + 贪心 + 细节
Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in", "r", stdin ...
- 【bzoj2424】[HAOI2010]订货 费用流
原文地址:http://www.cnblogs.com/GXZlegend/p/6825296.html 题目描述 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di, ...
- Codeforces Round #392 (Div. 2)-758D. Ability To Convert(贪心,细节题)
D. Ability To Convert time limit per test 1 second Cmemory limit per test 256 megabytes input standa ...
- Codeforces Round #515 (Div. 3) B. Heaters【 贪心 区间合并细节 】
任意门:http://codeforces.com/contest/1066/problem/B B. Heaters time limit per test 1 second memory limi ...
- 贪心:SPOJ Backup Files
BACKUP - Backup Files no tags You run an IT company that backs up computer data for large offices. ...
- hdu1052Tian Ji -- The Horse Racing(贪心,细节多)
Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- Codeforces Round #398 (Div. 2) A B C D 模拟 细节 dfs 贪心
A. Snacktower time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- 2015多校第6场 HDU 5353 Average 贪心,细节处理
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5353 题意:有n个人围城一个环,每一个人手里都有一些糖果,第i个人有ai块.现在有三种操作:第i个人给 ...
随机推荐
- 树莓派与window 10组成的物联网核心:让人失望
去年春天,微软公布了自己的window系统与物联网系统的方案,该方案使用树莓派和window 10组成物联网的核心.树莓派是一个与window全然不同的执行在ARM构架下的系统. 是的,也许微软决心离 ...
- 【java项目实战】代理模式(Proxy Pattern),静态代理 VS 动态代理
这篇博文,我们主要以类图和代码的形式来对照学习一下静态代理和动态代理.重点解析各自的优缺点. 定义 代理模式(Proxy Pattern)是对象的结构型模式,代理模式给某一个对象提供了一个代理对象,并 ...
- 去哪网实习总结:JavaWeb中文传參乱码问题的解决(JavaWeb)
本来是以做数据挖掘的目的进去哪网的.结构却成了系统开发... 只是还是比較认真的做了三个月.老师非常认同我的工作态度和成果... 实习立即就要结束了,总结一下几点之前没有注意过的变成习惯和问题,分享给 ...
- [Erlang危机](4.2)Remsh
原创文章,转载请注明出处:server非业余研究http://blog.csdn.net/erlib 作者Sunface 联系邮箱:cto@188.com Remsh There's a mechan ...
- Android实现能够揉动的图片
public class Demo01 extends Activity{ private Bitmap bitmap = null; @Override protected void onCreat ...
- 0x12 队列
感觉和栈那一讲一样简单啊.. poj2259 这个乱搞硬模拟吧...没更新last WA了N次...(叫你懒得写拍) #include<cstdio> #include<iostre ...
- C#+HtmlAgilityPack+Dappe
C#+HtmlAgilityPack+Dappe (转发请注明来源:http://www.cnblogs.com/EminemJK/) 最近因为公司业务需要,又有机会撸winform了,这次的需求是因 ...
- Java-MyBatis-3.0:MyBatis 3 简介
ylbtech-Java-MyBatis-3.0:MyBatis 3 简介 1.返回顶部 1. 简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程 ...
- oracle数据泵备份与还原
完整的常用的一套oracle备份以及还原方案 --在新库中新建数据目录,我没有特别说明在哪执行的语句都可在plsql中执行 CREATE OR REPLACE DIRECTORY dump_dir A ...
- ROS-动态参数
前言:在节点外部改变参数的方式有:参数服务器.服务.主题以及动态参数. 1.新建cfg文件 在chapter2_tutorials包下新建cfg文件夹,在cfg文件夹下新建chapter2.cfg文件 ...