Submission #1352352
Source Code Expand
#define _USE_MATH_DEFINES
#include <cassert>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <algorithm>
#include <complex>
#include <cmath>
#include <numeric>
#include <bitset>
using namespace std;
#define trace(...) __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1){
cerr << name << ": " << arg1 << endl;
}
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args){
const char* comma = strchr(names + 1, ',');
cerr.write(names, comma - names) << ": " << arg1 << " |";
__f(comma + 1, args...);
}
typedef long long int64;
typedef pair<int, int> ii;
const int INF = 1 << 30;
const int MOD = 1e9 + 7;
const int N = 1e5 + 10;
int cnt[N];
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
int x;
scanf("%d", &x);
cnt[x]++;
}
bool found = false;
for (int i = n - 1; i >= 0; i -= 2) {
if (!((i == 0 && cnt[i] == 1) || cnt[i] == 2)) {
found = true;
break;
}
}
if (found) {
puts("0");
} else {
int ret = 1;
for (int i = 0; i < n / 2; ++i) {
ret = ret * 2 % MOD;
}
printf("%d\n", ret);
}
return 0;
}
Submission Info
Submission Time |
|
Task |
C - Lining Up |
User |
cuiaoxiang |
Language |
C++14 (GCC 5.4.1) |
Score |
300 |
Code Size |
1461 Byte |
Status |
AC |
Exec Time |
11 ms |
Memory |
640 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:46:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &n);
^
./Main.cpp:49:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &x);
^
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 |
9 ms |
512 KB |
subtask_1_invalid_02.txt |
AC |
3 ms |
256 KB |
subtask_1_max_01.txt |
AC |
11 ms |
640 KB |
subtask_1_max_02.txt |
AC |
11 ms |
640 KB |
subtask_1_max_valid_01.txt |
AC |
11 ms |
640 KB |
subtask_1_max_valid_02.txt |
AC |
11 ms |
640 KB |
subtask_1_min_valid_01.txt |
AC |
1 ms |
256 KB |
subtask_1_rand_01.txt |
AC |
7 ms |
512 KB |
subtask_1_rand_02.txt |
AC |
10 ms |
640 KB |
subtask_1_valid_01.txt |
AC |
6 ms |
512 KB |
subtask_1_valid_02.txt |
AC |
3 ms |
384 KB |