Submission #7092149


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

const int MAXN = 2e5;
int N;
int cnt[MAXN];

int main() {
	ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	
	cin >> N;
	for (int i = 0; i < N; i++) {
		int a; cin >> a;
		cnt[a]++;
	}

	for (int i = 0; i < N; i++) {
		int v = abs(i - (N-1-i));
		if (cnt[v] != 2 - (v == 0)) {
			cout << 0 << '\n';
			exit(0);
		}
	}

	const int MOD = 1e9 + 7;
	int ans = 1;
	for (int i = 0; i < N/2; i++) {
		ans = 2 * ans % MOD;
	}
	cout << ans << '\n';

	return 0;
}

Submission Info

Submission Time
Task C - Lining Up
User ecodvtse
Language C++14 (GCC 5.4.1)
Score 300
Code Size 541 Byte
Status AC
Exec Time 9 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 8 ms 640 KB
subtask_1_invalid_02.txt AC 3 ms 384 KB
subtask_1_max_01.txt AC 9 ms 640 KB
subtask_1_max_02.txt AC 9 ms 640 KB
subtask_1_max_valid_01.txt AC 9 ms 640 KB
subtask_1_max_valid_02.txt AC 9 ms 640 KB
subtask_1_min_valid_01.txt AC 1 ms 256 KB
subtask_1_rand_01.txt AC 6 ms 512 KB
subtask_1_rand_02.txt AC 8 ms 640 KB
subtask_1_valid_01.txt AC 6 ms 512 KB
subtask_1_valid_02.txt AC 3 ms 384 KB