Submission #1516904


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define F first
#define S second
#define mp make_pair
#define pb push_back
#define int long long
#define ieps 5*30000
#define eps (int)  1e9
#define pii pair<int,int>
#define endl '\n'



int32_t main(){
	int n;
	cin>>n;
	set<int> v;
	for(int i = 1;i<=n;i++){
		v.insert(abs((i - 1) - (n - (i - 1) - 1)));
	}
	map<int,int> c;
	for(int i = 0;i<n;i++){
		int x;
		cin>>x;
		c[x]++;
	}
	int q = 1LL;
	int mod = 1000000007;
	for(auto p : v){
		if(p == 0LL){
			if(n%2){
				if(c[p] == 1) continue;
				else q*=0LL;
			}
			else{
				q*=0LL;
			}
			continue;
		}
		if(c[p] != 2) q*=0;
		else q*=2, q%=mod;
	}
	cout<<q%mod<<endl;
}

Submission Info

Submission Time
Task C - Lining Up
User yyjhzx
Language C++14 (GCC 5.4.1)
Score 300
Code Size 716 Byte
Status AC
Exec Time 76 ms
Memory 7680 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 58 ms 4864 KB
subtask_1_invalid_02.txt AC 11 ms 1152 KB
subtask_1_max_01.txt AC 76 ms 7680 KB
subtask_1_max_02.txt AC 76 ms 7680 KB
subtask_1_max_valid_01.txt AC 71 ms 5760 KB
subtask_1_max_valid_02.txt AC 71 ms 5760 KB
subtask_1_min_valid_01.txt AC 1 ms 256 KB
subtask_1_rand_01.txt AC 43 ms 4736 KB
subtask_1_rand_02.txt AC 68 ms 7168 KB
subtask_1_valid_01.txt AC 36 ms 3200 KB
subtask_1_valid_02.txt AC 13 ms 1408 KB