Submission #5499051
Source Code Expand
#include<bits/stdc++.h> using namespace std ; #define ll long long #define ld long double #define fast ios_base::sync_with_stdio(false) ;cin.tie(NULL);cout.tie(NULL) #define F(i,a,b) for(int i= (int)(a); i<(int)(b);i++) #define FI(i,a,b) for(int i=(int)(a);i<=(int)(b);i++) #define RF(i,a,b) for(int i = (int)(a); i >= (int)(b); i--) #define what_is(x) cerr << #x << " is " << x << endl; #define ms(x,a) memset(x,(int)(a),sizeof(x)) #define all(x) (x).begin(), (x).end() #define sz(x) ((int)(x).size()) #define pii pair<int,int> #define vi vector<int > #define pb push_back #define endl '\n' #define mp make_pair #define ff first #define ss second #define MOD 1000000007 const int N = 1e5+7 ; string s ; int main(){fast ; int n,k ; cin >> n ; vector<int> p(n) ; for(int& i : p) cin >> i ; vector<vector<int>> dp(n+1,vector<int>(10100)) ; // dp[i][j] is 1 on including i th element from p and sum j is possible dp[0][0] = 1 ; // no element no sum for(int i = 0 ; i < n ; i++){ for(int j = 0 ; j < 10100; j++){ if(dp[i][j]){ dp[i+1][j] = 1 ; // with each element included , prev sum is possible dp[i+1][j+p[i]] = 1 ; // from cur sum j sum j+p[i] is possible } } } // all n elements are included int ans = 0 ; for(int j = 0 ; j < 10100 ; j++){ if(dp[n][j]) ans++ ; } cout << ans << endl ; }
Submission Info
Submission Time | |
---|---|
Task | A - コンテスト |
User | akshayanand729 |
Language | C++14 (GCC 5.4.1) |
Score | 2 |
Code Size | 1379 Byte |
Status | AC |
Exec Time | 4 ms |
Memory | 4224 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 2 / 2 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00, 01, 02, 90, 91 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00 | AC | 2 ms | 768 KB |
01 | AC | 3 ms | 2304 KB |
02 | AC | 4 ms | 4224 KB |
90 | AC | 1 ms | 512 KB |
91 | AC | 2 ms | 768 KB |