Submission #6421151


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define repr(i,a,b) for(int i=a;i<b;i++)
#define rep(i,n) for(int i=0;i<n;i++)
 
int main(void) {
	int N;
	cin >> N;
	vector<int> p(N);
	int sum = 0;	// memo
	rep(i, N) {
		cin >> p[i];
		sum += p[i];
	}
 
	vector<vector<bool> > memo(N + 1, vector<bool>(sum + 1, false));
 
	memo[0][0] = true;
 
	repr(num, 1, N + 1) {
		rep(val, sum + 1) {
			if (val - p[num - 1] < 0) {
				memo[num][val] = memo[num - 1][val];
			}
			else {
				memo[num][val] = memo[num - 1][val] || memo[num - 1][val - p[num - 1]];
			}
		}
	}
 
	int ans = 0;
	rep(i, sum + 1) {
		if (memo[N][i])ans++;
	}
 
	cout << ans << endl;
 
	return 0;
}

Submission Info

Submission Time
Task A - コンテスト
User suakii
Language C++14 (GCC 5.4.1)
Score 2
Code Size 700 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 2 / 2
Status
AC × 5
Set Name Test Cases
All 00, 01, 02, 90, 91
Case Name Status Exec Time Memory
00 AC 1 ms 256 KB
01 AC 1 ms 256 KB
02 AC 2 ms 256 KB
90 AC 1 ms 256 KB
91 AC 1 ms 256 KB