Submission #4028532


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;

map<int,int> M;
int n;

int Pow(int a, int n){
    int ret = 1, pv = a;
    for(;n;n>>=1){
        if(n & 1) ret = (long long)ret * pv % mod;
        pv = (long long)pv * pv % mod;
    }
    return ret;
}

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin >> n;
    for(int i = 0, x; i < n; i++){
        cin >> x;
        ++M[x];
    }
    for(int i = 1; i <= n; i++){
        --M[abs((i-1) - (n-i))];
    }
    for(auto m : M) if(m.second) return !puts("0");
    cout << Pow(2, n/2) << '\n';
}

Submission Info

Submission Time
Task C - Lining Up
User TAMREF
Language C++14 (GCC 5.4.1)
Score 300
Code Size 624 Byte
Status AC
Exec Time 45 ms
Memory 4096 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 32 ms 2304 KB
subtask_1_invalid_02.txt AC 6 ms 640 KB
subtask_1_max_01.txt AC 44 ms 4096 KB
subtask_1_max_02.txt AC 45 ms 4096 KB
subtask_1_max_valid_01.txt AC 40 ms 2560 KB
subtask_1_max_valid_02.txt AC 40 ms 2560 KB
subtask_1_min_valid_01.txt AC 1 ms 256 KB
subtask_1_rand_01.txt AC 26 ms 2560 KB
subtask_1_rand_02.txt AC 41 ms 3840 KB
subtask_1_valid_01.txt AC 21 ms 1536 KB
subtask_1_valid_02.txt AC 8 ms 768 KB