Submission #1112947


Source Code Expand

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <iostream>
#include <set>
#include <map>
using namespace std;
typedef long long ll;

int N;
int A[100005];
ll MOD = 1e9+7;

int main(int argc, char const *argv[]) {
	cin >> N;
	vector<int> v(N);

	for (int i = 0; i < N; i++) {
		cin >> v[i];
	}
	sort(v.begin(), v.end());

	if (N % 2 == 0) {
		int check = 1;
		for (int i = 0; i < N; i++) {
			if (i % 2 == 0 && v[i] == check) {
				continue;
			}
			else if (i % 2 == 1 && v[i] == check) {
				check += 2;
				continue;
			}
			else {
				cout << "0" << endl;
				return 0;
			}
		}
	}

	else {
		if (v[0] != 0) {
			cout << "0" << endl;
			return 0;
		}
		int check = 2;
		for (int i = 1; i < N; i++) {
			if (i % 2 == 1 && v[i] == check) {
				continue;
			}
			else if (i % 2 == 0 && v[i] == check) {
				check += 2;
				continue;
			}
			else {
				cout << "0" << endl;
				return 0;
			}
		}
	}		

	ll res = 1;

	for (int i = 0; i < N/2; i++) {
		res *= 2;
		res %= MOD;
	}
	cout << res << endl;
	
	return 0;
}

Submission Info

Submission Time
Task C - Lining Up
User moguta
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1139 Byte
Status AC
Exec Time 36 ms
Memory 640 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 14
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 30 ms 640 KB
subtask_1_invalid_02.txt AC 7 ms 256 KB
subtask_1_max_01.txt AC 35 ms 640 KB
subtask_1_max_02.txt AC 35 ms 640 KB
subtask_1_max_valid_01.txt AC 36 ms 640 KB
subtask_1_max_valid_02.txt AC 36 ms 640 KB
subtask_1_min_valid_01.txt AC 1 ms 256 KB
subtask_1_rand_01.txt AC 21 ms 512 KB
subtask_1_rand_02.txt AC 33 ms 640 KB
subtask_1_valid_01.txt AC 20 ms 512 KB
subtask_1_valid_02.txt AC 8 ms 384 KB