题意:

给出n个非严格递增的整数(可能有负数),必须操作k次。每次能够把当中一个数变为它的相反数,使得终于的数列和最大。

输出这个最大和。

考验怎样出坑数据卡自己的程序...

  1. #include <cstdio>
  2.  
  3. const int maxn = 105;
  4.  
  5. int n, k, num[maxn];
  6.  
  7. inline int iread() {
  8. int f = 1, x = 0; char ch = getchar();
  9. for(; ch < '0' || ch > '9'; ch = getchar()) f = ch == '-' ? -1 : 1;
  10. for(; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';
  11. return f * x;
  12. }
  13.  
  14. int main() {
  15. int T = iread();
  16. while(T--) {
  17. n = iread(); k = iread();
  18. int cnt = 0, sum = 0;
  19. for(int i = 1; i <= n; i++) {
  20. num[i] = iread();
  21. cnt += (num[i] < 0);
  22. sum += num[i];
  23. }
  24.  
  25. if(k <= cnt) for(int i = 1; i <= k; i++) sum -= 2 * num[i];
  26. else if(k > cnt) {
  27. for(int i = 1; i <= cnt; i++) sum -= 2 * num[i];
  28. if(cnt == 0) sum -= ((k - cnt) & 1) * 2 * num[1];
  29. else if(cnt < n) {
  30. if(-num[cnt] < num[cnt + 1]) sum += ((k - cnt) & 1) * 2 * num[cnt];
  31. else sum -= ((k - cnt) & 1) * 2 * num[cnt + 1];
  32. } else sum += ((k - cnt) & 1) * 2 * num[cnt];
  33. }
  34. printf("%d\n", sum);
  35. }
  36. return 0;
  37. }

提供一些数据:

  1. 20
  2.  
  3. 1 100
  4. 0
  5.  
  6. 1 1
  7. 0
  8.  
  9. 2 1
  10. -9 -1
  11.  
  12. 2 100
  13. -9 -1
  14.  
  15. 2 101
  16. -9 -1
  17.  
  18. 3 1
  19. -3 -1 10
  20.  
  21. 3 2
  22. -3 -1 10
  23.  
  24. 3 3
  25. -3 -1 10
  26.  
  27. 3 100
  28. -3 -1 10
  29.  
  30. 3 101
  31. -3 -1 10
  32.  
  33. 3 200
  34. -3 -2 -1
  35.  
  36. 5 200
  37. -3 -2 -1 0 1
  38.  
  39. 5 200
  40. -3 -2 -1 4 5
  41.  
  42. 5 7
  43. 0 1 2 3 4
  44.  
  45. 6 4
  46. -3 -2 -1 1 2 3
  47.  
  48. 5 3
  49. 0 0 0 0 1
  50.  
  51. 5 4
  52. -2 -1 0 2 5
  53.  
  54. 6 4
  55. -30 -20 -10 100 100 200
  56.  
  57. 6 4
  58. -30 -20 -10 1 2 3
  59.  
  60. 6 1
  61. 1 2 3 4 5 6

输出:

  1. 0
  2. 0
  3. 8
  4. 10
  5. 8
  6. 12
  7. 14
  8. 12
  9. 14
  10. 12
  11. 4
  12. 7
  13. 13
  14. 10
  15. 10
  16. 1
  17. 10
  18. 440
  19. 64
  20. 19

【SPOJ-GSHOP】Rama and Friends【贪心】【细节】的更多相关文章

  1. CF767 B. The Queue 贪心+细节

    LINK 题意:一个业务开始时间为s,结束时间为f,一个人办护照的时间需要m分(如果在x时开始服务,且x+m==f那么还是合法的),你可以选择任意时间到达,但如果你和其他人同时到达,你要排在他的后面. ...

  2. BZOJ 4278: [ONTAK2015]Tasowanie 后缀数组 + 贪心 + 细节

    Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in", "r", stdin ...

  3. 【bzoj2424】[HAOI2010]订货 费用流

    原文地址:http://www.cnblogs.com/GXZlegend/p/6825296.html 题目描述 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di, ...

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

  5. Codeforces Round #515 (Div. 3) B. Heaters【 贪心 区间合并细节 】

    任意门:http://codeforces.com/contest/1066/problem/B B. Heaters time limit per test 1 second memory limi ...

  6. 贪心:SPOJ Backup Files

    BACKUP - Backup Files no tags  You run an IT company that backs up computer data for large offices. ...

  7. hdu1052Tian Ji -- The Horse Racing(贪心,细节多)

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

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

  9. 2015多校第6场 HDU 5353 Average 贪心,细节处理

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5353 题意:有n个人围城一个环,每一个人手里都有一些糖果,第i个人有ai块.现在有三种操作:第i个人给 ...

随机推荐

  1. 树莓派与window 10组成的物联网核心:让人失望

    去年春天,微软公布了自己的window系统与物联网系统的方案,该方案使用树莓派和window 10组成物联网的核心.树莓派是一个与window全然不同的执行在ARM构架下的系统. 是的,也许微软决心离 ...

  2. 【java项目实战】代理模式(Proxy Pattern),静态代理 VS 动态代理

    这篇博文,我们主要以类图和代码的形式来对照学习一下静态代理和动态代理.重点解析各自的优缺点. 定义 代理模式(Proxy Pattern)是对象的结构型模式,代理模式给某一个对象提供了一个代理对象,并 ...

  3. 去哪网实习总结:JavaWeb中文传參乱码问题的解决(JavaWeb)

    本来是以做数据挖掘的目的进去哪网的.结构却成了系统开发... 只是还是比較认真的做了三个月.老师非常认同我的工作态度和成果... 实习立即就要结束了,总结一下几点之前没有注意过的变成习惯和问题,分享给 ...

  4. [Erlang危机](4.2)Remsh

    原创文章,转载请注明出处:server非业余研究http://blog.csdn.net/erlib 作者Sunface 联系邮箱:cto@188.com Remsh There's a mechan ...

  5. Android实现能够揉动的图片

    public class Demo01 extends Activity{ private Bitmap bitmap = null; @Override protected void onCreat ...

  6. 0x12 队列

    感觉和栈那一讲一样简单啊.. poj2259 这个乱搞硬模拟吧...没更新last WA了N次...(叫你懒得写拍) #include<cstdio> #include<iostre ...

  7. C#+HtmlAgilityPack+Dappe

    C#+HtmlAgilityPack+Dappe (转发请注明来源:http://www.cnblogs.com/EminemJK/) 最近因为公司业务需要,又有机会撸winform了,这次的需求是因 ...

  8. Java-MyBatis-3.0:MyBatis 3 简介

    ylbtech-Java-MyBatis-3.0:MyBatis 3 简介 1.返回顶部 1. 简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程 ...

  9. oracle数据泵备份与还原

    完整的常用的一套oracle备份以及还原方案 --在新库中新建数据目录,我没有特别说明在哪执行的语句都可在plsql中执行 CREATE OR REPLACE DIRECTORY dump_dir A ...

  10. ROS-动态参数

    前言:在节点外部改变参数的方式有:参数服务器.服务.主题以及动态参数. 1.新建cfg文件 在chapter2_tutorials包下新建cfg文件夹,在cfg文件夹下新建chapter2.cfg文件 ...