【问题描述】

给定:

1)N个正整数A1, A2, … AN;

2)P个加号+和Q个减号-; (P+Q=N-1)

3)K对括号()

请你使用全部整数、加减号和括号,组成一个合法的算式(A1~AN在算式中的顺序随意),使得算式的结果最大。

注意加减号只能作为二元运算符出现在算式中,不能作为正负号。

括号可以出现在算式最左和最右,例如(((1+2)))是合法的。

例如对于样例数据,(2-1)+3或3+(2-1)等都是结果最大的算式。

【输入】

第一行包含4个整数,N,P, Q和K。

第二行包含N个整数A1, A2, … AN。

2 ≤ N ≤ 100 P+Q+1=N 0 ≤ K ≤ 10

1 ≤ Ai ≤ 1000

【输出】

最大算式结果

【样例输入】

3 1 1 1

1 2 3

【样例输出】

4

思路:输入的所有数都是正整数,如果没有括号的话,我们只需要减去最小的q个数;如果有括号的话,我们可以利用括号将q个减号变为1个减号即:a+b-(c-d-e),此时我们只要减去最小的那个数即可。
代码:

#include <stdio.h>
#include <stdlib.h>
int n,p,q,k,a[105],sum;
int kk(const void *a,const void *b)
{return *(int *)a-*(int *)b;
}
int main()
{scanf("%d%d%d%d",&n,&p,&q,&k);for(int i=0;i<n;i++){scanf("%d",&a[i]);}qsort(a,n,sizeof(int ),kk);if(k==0){for(int i=0;i<n;i++){if(i<q){sum-=a[i];}else{sum+=a[i];}}}else{for(int i=1;i<n;i++){sum+=a[i];}sum-=a[0];}printf("%d",sum);return 0;
}

算式最大值 (思维题)相关推荐

  1. codeforces 有意思的思维题 1 ~ 15

    codeforces 思维题 1.给定数组,求满足i < j and ai * aj = i + j的数对数量 2.第 i 步向前跳 i 步或后退 1 步 3.给两个点,求正方形的另两个点 4. ...

  2. Educational Codeforces Round 67 (Rated for Div. 2)(D思维题 线段树/E树形dp(换根dp) 二次扫描与换根法)

    心得 D写了个假算法被hack了wtcl- E据涛神说是二次扫描与换根法,看了看好像和树形dp差不多 F概率dp G费用流 回头再补 思路来源 马老师 归神 贤神等代码 http://www.mami ...

  3. little w and Soda(思维题)

    链接:https://ac.nowcoder.com/acm/contest/297/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  4. ZOJ 3829 贪心 思维题

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829 现场做这道题的时候,感觉是思维题.自己智商不够.不敢搞,想着队友智商 ...

  5. yoyo思维题(困难) 组合数学

    问题 B: yoyo思维题(困难) 时间限制: 1 Sec  内存限制: 256 MB 提交: 11  解决: 3 [提交][状态][讨论版][命题人:qianyouyou][Edit] [TestD ...

  6. 1884: 三个家庭(思维题)

    1884: 三个家庭 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 244 Solved: 81 [Submit][Status][Web Board] ...

  7. 思维题 UVA 10881 Piotr's Ants

    题目传送门 1 /* 2 题意:在坐标轴上一群蚂蚁向左或向右爬,问经过ts后,蚂蚁的位置和状态 3 思维题:本题的关键1:蚂蚁相撞看作是对穿过去,那么只要判断谁是谁就可以了 4 关键2:蚂蚁的相对位置 ...

  8. CF--思维练习-- CodeForces - 215C - Crosses(思维题)

    ACM思维题训练集合 There is a board with a grid consisting of n rows and m columns, the rows are numbered fr ...

  9. ACM思维题训练 Section A

    题目地址: 选题为入门的Codeforce div2/div1的C题和D题. 题解: A:CF思维联系–CodeForces -214C (拓扑排序+思维+贪心) B:CF–思维练习-- CodeFo ...

最新文章

  1. 在PHP语言中使用JSON
  2. 配置 Spring Batch 批处理失败重试
  3. 微生物领域非顶级期刊概述
  4. 网络营销——网站权重并不是判断网站营销水平的唯一标准
  5. qmenubar无边框 qt_Qt UI测试:如何模拟使用QTest QMenuBar项目上的点击?
  6. [Swift]LeetCode884. 两句话中的不常见单词 | Uncommon Words from Two Sentences
  7. Android -- 发送Broadcast、有序无序
  8. Diango博客--17.统计各个分类和标签下的文章数
  9. Editplus 3.0 开发ext 教程
  10. win10禁止自动更新
  11. 金山词霸2006.and.金山快译2006 2合1免激活版
  12. 哈理工OJ 1029 Function Run Fun(记忆思想)
  13. 5 --> radius 协议原理解析
  14. android设备刷机精灵,使用刷机精灵给安卓手机刷机教程
  15. 数字经济时代,企业的核心竞争力究竟是什么?
  16. 马克飞象(markdown)的快捷键
  17. esp8266之红外报警
  18. maxcomputer内建函数按字母排序
  19. linux 增加交换空间,在linux上增加swap交换空间
  20. redis 五大数据类型

热门文章

  1. BASNet: Boundary-Aware Salient Object Detection论文学习
  2. 大学cad课要用计算机么,cad2010大学课程
  3. A deep-learning framework for multi-levelpeptide–protein interaction prediction文章梳理
  4. 浅析Android字体加载原理
  5. EgretInspector谷歌浏览器扩展
  6. 图像算法工程师——面试经验
  7. [安卓开发] 总结一些android的云测试平台
  8. iOS设备 历代 机型对照表
  9. 关于购物网站的设计概念
  10. 在excel中如何筛选重复数据_EXCEL如何快速筛选重复数据,并将结果快速复制到其他单元格...