Submission #1349807
Source Code Expand
// clang-format off #include <bits/stdc++.h> #define int long long #define main signed main() // #define main int main() #define loop(i, a, n) for (int i = (a); i < (n); i++) #define rep(i, n) loop(i, 0, n) #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() #define prec(n) fixed << setprecision(n) #define stlice(from, to) substr(from, (to) - (from) + 1) #define pb push_back #define mp make_pair #define mt make_tuple #define fi first #define se second using namespace std; using pii = pair<int, int>; using vi = vector<int>; using vd = vector<double>; using vc = vector<char>; using vb = vector<bool>; using vs = vector<string>; using vpii = vector<pii>; using vvi = vector<vi>; using vvb = vector<vb>; using vvpii = vector<vpii>; template<typename A> using fn = function<A>; constexpr int INF = sizeof(int) == sizeof(long long) ? 1000000000000000000LL : 1000000000; constexpr int MOD = 1000000007; constexpr double PI = acos(-1); template<typename A, typename B> bool cmin(A &a, const B &b) { return a > b ? (a = b, true) : false; } template<typename A, typename B> bool cmax(A &a, const B &b) { return a < b ? (a = b, true) : false; } constexpr bool odd(const int &n) { return n & 1; } constexpr bool even(const int &n) { return !odd(n); } void solve(); main { solve(); return 0; } // clang-format on constexpr int powm(int a, int b, const int &m) { int c = 1; while (b) { if (odd(b)) c = (c * a) % m; b >>= 1; a = (a * a) % m; } return c; } void solve() { int n; cin >> n; vi t(n); rep(i, n) { int a; cin >> a; t[a]++; } if (any_of(all(t), [](int x) { return x > 2; }) || t[0] > 1) { cout << 0 << endl; return; } cout << powm(2, n / 2, MOD) << endl; }
Submission Info
Submission Time | |
---|---|
Task | C - Lining Up |
User | AyaMorisawa |
Language | C++14 (GCC 5.4.1) |
Score | 300 |
Code Size | 1808 Byte |
Status | AC |
Exec Time | 29 ms |
Memory | 1024 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_invalid_01.txt, subtask_1_invalid_02.txt, subtask_1_max_01.txt, subtask_1_max_02.txt, subtask_1_max_valid_01.txt, subtask_1_max_valid_02.txt, subtask_1_min_valid_01.txt, subtask_1_rand_01.txt, subtask_1_rand_02.txt, subtask_1_valid_01.txt, subtask_1_valid_02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
subtask_1_invalid_01.txt | AC | 24 ms | 896 KB |
subtask_1_invalid_02.txt | AC | 6 ms | 384 KB |
subtask_1_max_01.txt | AC | 28 ms | 1024 KB |
subtask_1_max_02.txt | AC | 28 ms | 1024 KB |
subtask_1_max_valid_01.txt | AC | 29 ms | 1024 KB |
subtask_1_max_valid_02.txt | AC | 29 ms | 1024 KB |
subtask_1_min_valid_01.txt | AC | 1 ms | 256 KB |
subtask_1_rand_01.txt | AC | 18 ms | 768 KB |
subtask_1_rand_02.txt | AC | 26 ms | 1024 KB |
subtask_1_valid_01.txt | AC | 16 ms | 640 KB |
subtask_1_valid_02.txt | AC | 6 ms | 384 KB |