Submission #6424106


Source Code Expand

#include<iostream>
#include<string>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<vector>
#include<utility>
#include<queue>
#include<stack>
#include<set>
#include<map>
#include<unordered_set>
#include<unordered_map>
#include<bitset>
#include<iomanip>
#include<list>
#include<deque>
using namespace std;
//#define MODE 1
#ifdef MODE
#define DEB(X) cout<< #X <<": "<<X<<" ";
#define END cout<<endl;
#else
#define DEB(X) {}
#define END {}
#endif
typedef long long ll;
#define int ll
#define uset unordered_set
#define umap unordered_map
typedef std::pair<int,int> P;
struct edge{int to,cost;};
const int INF=100000000000000000;
const int INF2=9223372036854775807;
const int MOD=1000000007;
#define REP(i,n) for(int i=0;i<(int)(n);i++)
#define min(X,Y) (((int)(X)<(int)(Y))?(X):(Y))
#define max(X,Y) (((int)(X)>(int)(Y))?(X):(Y))
#define MAX(X,Y) (*max_element(X,Y))
#define MIN(X,Y) (*min_element(X,Y))
#define NP(X,Y) next_permutation(X,Y)
#define setp(X,Y) cout<<fixed<<setprecision(Y)<<X;
int ceil2(int a,int b){if(a%b==0){return a/b;}else{return a/b+1;}}
int pow2(int a,int b){int r=1;for(int i=1;i<=b;i++){r*=a;}return r;}
int Log2(int a){int t=0;while(1){if(a==0||a==1){break;}a/=2;t++;}return t;}

int N;
int A[110];
bool dp[110][10010];

signed main(){
	cin>>N;
	REP(i,N){
		cin>>A[i];
	}
	dp[0][0]=true,dp[0][A[0]]=true;
	for(int i=0;i<N-1;i++){
		for(int j=0;j<=10000;j++){
			if(dp[i][j]){
				dp[i+1][j]=true;
				dp[i+1][j+A[i+1]]=true;
			}
		}
	}
	int ans=0;
	for(int i=0;i<=10000;i++){
		if(dp[N-1][i]){
			ans++;
		}
	}
	cout<<ans<<endl;
	return 0;
}

Submission Info

Submission Time
Task A - コンテスト
User mamime19
Language C++14 (GCC 5.4.1)
Score 2
Code Size 1673 Byte
Status AC
Exec Time 2 ms
Memory 896 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 2 ms 512 KB
02 AC 2 ms 896 KB
90 AC 1 ms 256 KB
91 AC 1 ms 256 KB