Submission #3040918


Source Code Expand

#!/usr/bin/env python

from collections import deque
import itertools as it
import sys
import math

sys.setrecursionlimit(10000000)

N, P = map(int, raw_input().split())
A = map(int, raw_input().split())
cnt = 0

for a in A:
    if a % 2 == 1:
        cnt += 1

m = {}
def comb(n, k):
    if (n, k) in m:
        return m[(n, k)]
    if n == k or k == 0:
        m[(n, k)] = 1
        return 1
    m[(n, k)] = comb(n - 1, k) + comb(n - 1, k - 1)
    return m[(n, k)]

ans = 0
rem = N - cnt
for i in range(0, cnt + 1, 2):
    ans += comb(cnt, i)
if P == 1:
    ans = 2 ** cnt - ans
print ans * (2 ** rem)

Submission Info

Submission Time
Task A - Biscuits
User monolith
Language Python (2.7.6)
Score 200
Code Size 636 Byte
Status AC
Exec Time 12 ms
Memory 2936 KB

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 11 ms 2936 KB
in2.txt AC 11 ms 2808 KB
in3.txt AC 11 ms 2808 KB
in4.txt AC 11 ms 2808 KB
in5.txt AC 11 ms 2808 KB
in6.txt AC 12 ms 2936 KB
in7.txt AC 11 ms 2808 KB
in8.txt AC 11 ms 2808 KB
sample1.txt AC 11 ms 2808 KB
sample2.txt AC 11 ms 2808 KB
sample3.txt AC 11 ms 2808 KB
sample4.txt AC 11 ms 2808 KB