#P0995. 积分卡组合数

积分卡组合数

题目背景

社团活动结束后,老师给同学准备了 nn 张积分卡。每张积分卡上写着一个非负整数,表示这张卡的积分值。

同学可以选择任意若干张积分卡,也可以一张都不选。被选中卡片的积分值之和,就是这次选择得到的组合积分。

题目描述

不同的选卡方式可能得到相同的组合积分。请你计算,一共能得到多少种不同的组合积分。空选择得到的积分 00 也需要计入。

输入格式

第一行输入一个整数 nn,表示积分卡数量。

第二行输入 nn 个非负整数 a1,a2,,ana_1,a_2,\dots,a_n,表示每张积分卡的积分值。

输出格式

输出一个整数,表示所有子集能够得到的不同积分和数量。

样例

3
1 2 3
7

提示

样例解释

可以得到的不同积分为 0,1,2,3,4,5,60,1,2,3,4,5,6,共 77 种。

数据范围

对于 60%60\% 的数据,0ai<2200 \le a_i < 2^{20}

对于 80%80\% 的数据,0ai<2300 \le a_i < 2^{30}

对于 100%100\% 的数据,1n201 \le n \le 20aia_i 是不超过 INT_MAXINT\_MAX 的非负整数。