Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <string>
- #include <vector>
- #include <algorithm>
- #include <numeric>
- #include <set>
- #include <map>
- #include <queue>
- #include <iostream>
- #include <sstream>
- #include <cstdio>
- #include <cmath>
- #include <ctime>
- #include <cstring>
- #include <cctype>
- #include <cassert>
- #include <limits>
- #include <functional>
- #include <stack>
- #define REP(i,n) for(int (i) = 0;(i) < (n) ; ++(i))
- #define REPA(a,i,n) for(int (i) = (a) ; (i) < (n) ; ++(i))
- #if defined(_MSC_VER)||__cplusplus > 199711L
- #define AUTO(r,v) auto r = (v)
- #else
- #define AUTO(r,v) typeof(v) r = (v)
- #endif
- #define ALL(c) (c).begin() , (c).end()
- #define EACH(it,c) for(AUTO(it,(c).begin());it != (c).end();++it)
- #define LL long long
- #define INF 99999999;
- #define QUICK_CIN ios::sync_with_stdio(false); cin.tie(0);
- using namespace std;
- bool dp[102][10000];
- int points[100];
- int main(){
- QUICK_CIN;
- dp[0][0] = true;
- int n;
- cin >> n;
- REP(i, n){
- cin >> points[i];
- }
- REP(i, n){
- REP(j, 10000){
- if (dp[i][j]){
- dp[i+1][j] = dp[i+1][j + points[i]] = true;
- }
- }
- }
- cout << count_if(dp[n], dp[n] + 10000, [](bool x){return x; }) << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement