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 |
|
|
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 |