#1724 : 算式最大值

标签: acm
3人阅读 评论(0) 收藏 举报
分类:
时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

给定:

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

这是一道思维题 只要有括号总能把若干个减号化成一个减号 我们只要减去数组里最小的即可;

举例:4,3,2,1 :2个减号 1个加号 一个括号 最大为:4-(1-2)+3  两个减号 一个加号 两个括号时:(4-(1-2))+3

三个减号 一个括号:4-(1-2-3) 两个括号时:(4-(1-2-3))

所以有括号时直接是排序 前n-1大的和减去最小的;

没括号是括号个数加1大的数减去剩下的 具体看代码:

#include<bits/stdc++.h>
#define maxn 150
using namespace std;
int n,p,q,k;
int a[maxn];
bool cmp(int x,int y){
	return x>y;
}
int main(){
//	freopen("input.txt","r",stdin);
	cin>>n>>p>>q>>k;
	for(int i=1;i<=n;i++) cin>>a[i];
	sort(a+1,a+1+n,cmp);
	int ans=0;
	if(k==0){
		for(int i=1;i<=n;i++){
			if(i<=p+1) ans+=a[i];
			else ans-=a[i];
		}
	}
	else{
		for(int i=1;i<n;i++) ans+=a[i];
		ans-=a[n];
	}
	cout<<ans<<endl;
	return 0;
}

查看评论

从delphi6,kylix看borland的未来发展

过如果delphi能够提供对系统底层的开发,那就更爽了。在对win平台的底层开发方面,delphi还是很难和vc竞争,不是工具,也不是语言,而是borland不掌握操作系统,受制与人。这是ms的很残忍...
  • DrunkenLion
  • DrunkenLion
  • 2001-05-10 10:52:00
  • 820

最土 购物车_物流跟踪1724

  • 2010年12月27日 08:46
  • 411KB
  • 下载

POJ - 1724 ROADS(bfs+剪枝)

代码:#include #include const int N=1010; const int INF=1e6; struct Edge { int s,e,len,cost; i...
  • qq_32473657
  • qq_32473657
  • 2016-07-19 23:38:38
  • 266

POJ1724 ROADS(加限制条件的最短路,深搜)

图中每条路都有 路长 和 “过路费” 两个参数,现在只有 K 块钱,要你求起点到终点的最短路,也就是说在 K 花费内的最短路。 这个题其实很多解的,只不过是题目描述用的模型是最短路的模型,其实方法多...
  • l04205613
  • l04205613
  • 2011-08-12 20:36:27
  • 2356

visual assist 1724 安装文件+注册机

  • 2010年01月07日 22:49
  • 4.56MB
  • 下载

蓝桥杯 算法训练 乘积最大(动态规划)

算法训练 乘积最大   时间限制:1.0s   内存限制:256.0MB        问题描述    今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著...
  • qq_27601815
  • qq_27601815
  • 2017-05-07 16:16:24
  • 802

描述最大值的时候,算式中为什么要减去一个1?

在描述二进制数最大值的时候,算式中为什么要减去一个1?如16位寄存器所能储存的数据的最大值是65535=2^16-1。悬赏分:5 - 解决时间:2009-8-31 00:29 -最佳答案 1111 1...
  • baidu_33836580
  • baidu_33836580
  • 2016-01-25 11:31:19
  • 218

POJ1724 ROADS(深搜DFS,最短路,dijkstra,用优先队列优化)

题目: ROADS Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14825   Accepted:...
  • riba2534
  • riba2534
  • 2017-04-14 14:50:35
  • 840

【HDU 1724】Ellipse

simpson积分模板题~
  • Regina8023
  • Regina8023
  • 2015-04-02 22:28:58
  • 662

简单遗传算法程序

  • 2012年04月07日 21:36
  • 383KB
  • 下载
    个人资料
    等级:
    访问量: 51
    积分: 26
    排名: 205万+
    文章分类
    文章存档