Submission #1520307


Source Code Expand

#include <bits/stdc++.h> 
 
using namespace std;
 
 template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}

//typedef
//------------------------------------------
typedef pair<int, int> PII;
typedef pair<long, long> PLL;
typedef long long LL;
//container util
//------------------------------------------
#define ALL(a)  (a).begin(),(a).end()
#define PB emplace_back
#define MP make_pair 
#define SZ(a) int((a).size())
//repetition
//------------------------------------------
#define FOR(i,a,b) for(LL i=(a);i<(b);++i)
#define REP(i,n)  FOR(i,0,n)
#define SORT(c) sort((c).begin(),(c).end())
//constant
//--------------------------------------------
//clear memory
#define CLR(a) memset((a), 0 ,sizeof(a))

const LL MOD=(LL)1e9+7LL; 

int main(){
    int N;cin>>N;
    vector<LL>p((N/2+N%2),0);
    REP(i,N){
        int a;cin>>a;
        p[a/2]++;
    }
    bool flag=true;
    REP(i,SZ(p)){
        if(N%2==1&i==0){
            if(p[i]!=1){
                flag=false;break;
            }
        }else{
            if(p[i]!=2){
                flag=false;break;
            }
        }
    }
    if(!flag){
        cout<<0<<endl;return 0;
    }
    LL res=1LL;
    REP(i,SZ(p))res=(res*p[i]%MOD);
    cout<<res<<endl;
    return 0;
}

Submission Info

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