Submission #7032002


Source Code Expand

#include<iostream>
#include<vector>
#include<string>
#include<cstring>
#include<algorithm>
#include<map>
#include<set>
#include<cmath>
#include<cassert>
#include<queue>

using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef vector<int> vi;
struct cww {
    cww() {
        ios::sync_with_stdio(false);
        cin.tie(0);
    }
} star;

const int MAXN = 100100;
const int MOD = 1e9+7;
int cnt[MAXN];

int solve(int N) {
    ll ans = 1;
    if (N % 2 == 1) {
        if (cnt[0] != 1)
            return 0;
        for (int i = 2; i < N; i += 2) {
            if (cnt[i] != 2)
                return 0;

            ans*=2;
            ans%= MOD;
        }
        return ans;
    } else {
        for (int i = 1; i < N; i+=2) {
            if (cnt[i] != 2)
                return 0;

            ans*=2;
            ans%=MOD;
        }
        return ans;
    }
}

int main() {
    int N;
    cin >> N;
    for (int i = 0; i < N; i++) {
        int a;
        cin >> a;
        cnt[a]++;
    }
    cout << solve(N) << endl;
    return 0;
}

Submission Info

Submission Time
Task C - Lining Up
User Optimus_primeV2
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1161 Byte
Status AC
Exec Time 9 ms
Memory 640 KiB

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 KiB
sample_02.txt AC 1 ms 256 KiB
sample_03.txt AC 1 ms 256 KiB
subtask_1_invalid_01.txt AC 8 ms 640 KiB
subtask_1_invalid_02.txt AC 3 ms 384 KiB
subtask_1_max_01.txt AC 9 ms 640 KiB
subtask_1_max_02.txt AC 9 ms 640 KiB
subtask_1_max_valid_01.txt AC 9 ms 640 KiB
subtask_1_max_valid_02.txt AC 9 ms 640 KiB
subtask_1_min_valid_01.txt AC 1 ms 256 KiB
subtask_1_rand_01.txt AC 6 ms 512 KiB
subtask_1_rand_02.txt AC 8 ms 640 KiB
subtask_1_valid_01.txt AC 6 ms 512 KiB
subtask_1_valid_02.txt AC 3 ms 384 KiB