Submission #1966897
Source Code Expand
#include "bits/stdc++.h"
using namespace std;
using ll = long long; using pii = pair<int, int>;
#define FOR(i,a,b) for(int (i)=(a);i<(int)(b);i++)
#define rep(i,n) FOR(i,0,n)
int n, p;
int a[55];
ll dp[55][100 * 51];
ll f(int i, int s) {
ll &r = dp[i][s];
if (r != -1) return r;
if (i >= n) return r = s % 2 == p;
return r = f(i + 1, s) + f(i + 1, s + a[i]);
}
int main() {
scanf("%d%d", &n, &p);
rep(i, n) scanf("%d", &a[i]);
memset(dp, -1, sizeof(dp));
ll ans = f(0, 0);
cout << ans << "\n";
return 0;
}
Submission Info
Submission Time |
|
Task |
A - Biscuits |
User |
fushime2 |
Language |
C++14 (GCC 5.4.1) |
Score |
200 |
Code Size |
572 Byte |
Status |
AC |
Exec Time |
3 ms |
Memory |
2432 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:19:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &n, &p);
^
./Main.cpp:20:33: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
rep(i, n) scanf("%d", &a[i]);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
200 / 200 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample1.txt, sample2.txt, sample3.txt, sample4.txt |
All |
sample1.txt, sample2.txt, sample3.txt, sample4.txt, in1.txt, in2.txt, in3.txt, in4.txt, in5.txt, in6.txt, in7.txt, in8.txt, sample1.txt, sample2.txt, sample3.txt, sample4.txt |
Case Name |
Status |
Exec Time |
Memory |
in1.txt |
AC |
3 ms |
2432 KB |
in2.txt |
AC |
3 ms |
2432 KB |
in3.txt |
AC |
2 ms |
2432 KB |
in4.txt |
AC |
2 ms |
2432 KB |
in5.txt |
AC |
2 ms |
2432 KB |
in6.txt |
AC |
3 ms |
2432 KB |
in7.txt |
AC |
2 ms |
2432 KB |
in8.txt |
AC |
2 ms |
2432 KB |
sample1.txt |
AC |
2 ms |
2432 KB |
sample2.txt |
AC |
2 ms |
2432 KB |
sample3.txt |
AC |
2 ms |
2432 KB |
sample4.txt |
AC |
3 ms |
2432 KB |