2087. Jewelry

单点时限: 2.0 sec

内存限制: 256 MB

You have been given a list of jewelry items that must be split amongst two people: Frank and Bob. Frank likes very expensive jewelry. Bob doesn’t care how expensive the jewelry is, as long as he gets a lot of jewelry. Based on these criteria you have devised the following policy:

  • 1) Each piece of jewelry given to Frank must be valued greater than or equal to each piece of jewelry given to Bob. In other words, Frank’s least expensive piece of jewelry must be valued greater than or equal to Bob’s most expensive piece of jewelry.

  • 2) The total value of the jewelry given to Frank must exactly equal the total value of the jewelry given to Bob.

  • 3) There can be pieces of jewelry given to neither Bob nor Frank.

  • 4) Frank and Bob must each get at least 1 piece of jewelry.

-values will contain between 2 and 30 elements inclusive.

-Each element of values will be between 1 and 1000 inclusive.

输入格式

There are many test cases!The first line is the number of the values,then the values next.

Given the value of each piece, you will determine the number of different ways you can allocate the jewelry to Bob and Frank following the above policy. For example:

values = {1,2,5,3,4,5}

Valid allocations are:

Bob Frank

1,2 3

1,3 4

1,4 5 (first 5)

1,4 5 (second 5)

2,3 5 (first 5)

2,3 5 (second 5)

5 (first 5) 5 (second 5)

5 (second 5) 5 (first 5)

1,2,3,4 5,5

Note that each ‘5’ is a different piece of jewelry and needs to be accounted for separately. There are 9 legal ways of allocating the jewelry to Bob and Frank given the policy, so your code would return 9.

输出格式

you will output the number of different ways you can allocate the jewelry to Bob and Frank following the above policy.

样例

Input
5
1 2 3 4 5
Output
4
Valid allocations:
Bob Frank
1,2 3
2,3 5
1,3 4
1,4 5

1 人解决,5 人已尝试。

2 份提交通过,共有 13 份提交。

9.9 EMB 奖励。

创建: 16 年,8 月前.

修改: 7 年,2 月前.

最后提交: 7 年,11 月前.

来源: TC

题目标签