UOJ Logo 蜗牛编程训练题库

JZOJ

#430. 构建双塔

统计
时间限制:1s    空间限制:256MB    输入文件:input.in    输出文件:output.out
当前24小时内您还剩30次提交本题的机会

题目描述

  2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难。为了纪念“911”事件,Mr. F决定自己用水晶来搭建一座双塔。

  Mr. F有$N$块水晶,每块水晶有一个高度,他想用这N块水晶搭建两座有同样高度的塔,使他们成为一座双塔,Mr. F可以从这$N$块水晶中任取$M$($1≤M≤N$)块来搭建。但是他不知道能否使两座塔有同样的高度,也不知道如果能搭建成一座双塔,这座双塔的最大高度是多少。所以他来请你帮忙。

  给定水晶的数量$N$($1≤N≤100$)和每块水晶的高度$Hi$($N$块水晶高度的总和不超过$2000$),你的任务是判断Mr. F能否用这些水晶搭建成一座双塔(两座塔有同样的高度),如果能,则输出所能搭建的双塔的最大高度,否则输出“$Impossible$”。

输入格式

输入的第一行为一个数$N$,表示水晶的数量。

第二行为$N$个数,第$i$个数表示第$i$个水晶的高度。

输出格式

 输出仅包含一行,如果能搭成一座双塔,则输出双塔的最大高度,否则输出一个字符串“$Impossible$”。

样例数据

input

5
1 3 4 5 2

output

7

数据规模与约定

时间限制:$1 text {s}$

空间限制:$256 text {MB}$

题解看这里

还有这里

解题讨论区

标题 发表者 发表日期