提出 #1031486
ソースコード 拡げる
// think twice code once
// Start:
// End :
#include <bits/stdc++.h>
using namespace std;
#define rep(i, x, y) for(int i = (x), _ = (y); i <= _; ++ i)
#define per(i, x, y) for(int i = (x), _ = (y); i >= _; -- i)
#define dprintf(...) fprintf(stderr, __VA_ARGS__)
#define disp(x) cout << #x << " = " << x << "; "
typedef long long LL;
template <class T> bool chkmin(T& a, T b) { return a > b ? a = b, true : false; }
template <class T> bool chkmax(T& a, T b) { return a < b ? a = b, true : false; }
template <class T> void read(T& a) {
char c = getchar(); T f = 1; a = 0;
for(; !isdigit(c); c = getchar()) if(c == '-') f = -1;
for(; isdigit(c); c = getchar()) a = a * 10 + c - '0';
a *= f;
}
template <class T> void write(T a) {
static int stk[60];
int tp = 0;
if(a < 0) putchar('-'), a = -a;
do {
stk[++ tp] = a % 10;
a /= 10;
}while(a);
while(tp) putchar(stk[tp--] + '0');
}
const int maxN = 1e5 + 5, mo = 1e9 + 7;
int N;
int cnt[maxN];
int pow_mod(int x, int t) {
int ret = 1;
while(t) {
if(t & 1) ret = (LL) ret * x % mo;
x = (LL) x * x % mo; t >>= 1;
}
return ret;
}
int main() {
#ifdef Leeson
freopen("tmp.in", "r", stdin);
freopen("tmp.out", "w", stdout);
#endif
read(N);
rep(i, 1, N) {
int a;
read(a);
cnt[a] ++;
}
if(cnt[0] == 2) {
puts("0");
return 0;
}
rep(i, 1, N) {
if(cnt[i] != 0 && cnt[i] != 2) {
puts("0");
return 0;
}
}
cout << pow_mod(2, N / 2) << endl;
return 0;
}
提出情報
| 提出日時 |
|
| 問題 |
C - Lining Up |
| ユーザ |
leeson |
| 言語 |
C++14 (GCC 5.4.1) |
| 得点 |
300 |
| コード長 |
1529 Byte |
| 結果 |
AC |
| 実行時間 |
8 ms |
| メモリ |
640 KiB |
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
300 / 300 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
| All |
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 |
| ケース名 |
結果 |
実行時間 |
メモリ |
| sample_01.txt |
AC |
2 ms |
256 KiB |
| sample_02.txt |
AC |
2 ms |
256 KiB |
| sample_03.txt |
AC |
2 ms |
256 KiB |
| subtask_1_invalid_01.txt |
AC |
7 ms |
512 KiB |
| subtask_1_invalid_02.txt |
AC |
3 ms |
256 KiB |
| subtask_1_max_01.txt |
AC |
8 ms |
640 KiB |
| subtask_1_max_02.txt |
AC |
8 ms |
640 KiB |
| subtask_1_max_valid_01.txt |
AC |
8 ms |
640 KiB |
| subtask_1_max_valid_02.txt |
AC |
8 ms |
640 KiB |
| subtask_1_min_valid_01.txt |
AC |
2 ms |
256 KiB |
| subtask_1_rand_01.txt |
AC |
6 ms |
512 KiB |
| subtask_1_rand_02.txt |
AC |
7 ms |
640 KiB |
| subtask_1_valid_01.txt |
AC |
5 ms |
512 KiB |
| subtask_1_valid_02.txt |
AC |
4 ms |
384 KiB |