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
AC × 4
AC × 16
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