提出 #1031499


ソースコード 拡げる

/* You lost the game. */

#include <list>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <algorithm>
#include <sstream>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <climits>
#include <cfloat>
#include <numeric>
#include <cassert>
#include <unordered_set>
#include <unordered_map>
#include <fstream>
#include <vector>

#define fin(i,n) for (int i = 0; i < n; i++)
#define fin2(i,a,b) for (int i = a; i < b; i++)

#define mp make_pair
#define pb push_back

#define si(n) scanf("%d", &n)
#define sii(n,m) scanf("%d %d", &n, &m)
#define siii(n,m,k) scanf("%d %d %d", &n, &m, &k)
#define sl(n) scanf("%lld", &n)
#define sll(n,m) scanf("%lld %lld", &n, &m)
#define slll(n,m,k) scanf("%lld %lld %lld", &n, &m, &k)
#define ss(s) scanf("%s", s)

#define pi(n) printf("%d\n", n)
#define pii(n,m) printf("%d %d\n", n, m)
#define pl(n) printf("%lld\n", n)
#define pll(n,m) printf("%lld %lld\n", n, m)
#define pai(t,n) fin(i,n) { printf("%d ", t[i]); } printf("\n"); 
#define pal(t,n) fin(i,n) { printf("%lld ", t[i]); } printf("\n"); 

#define L long long int
#define PII pair<int, int>
#define VPII vector<PII>
#define VL vector<L>
#define VI vector<int>
#define VVI vector<VI>

using namespace std;




int main() {
    int n, A[100000], c[100000] = {0};
    si(n);
    fin(i,n) { 
        si(A[i]); 
        c[A[i]]++; 
        if (A[i] % 2 == n % 2) { printf("0\n"); return 0; }
    }
    L res = 1;
    if (c[0] > 1) { printf("0\n"); return 0; }
    fin2(i,1,n) {
        if (c[i] == 2) { res = (res * 2) % 1000000007; }
        else if (c[i] > 2) { printf("0\n"); return 0; }
    }
    pl(res);
    return 0;
}

提出情報

提出日時
問題 C - Lining Up
ユーザ noelnadal
言語 C++14 (GCC 5.4.1)
得点 300
コード長 1760 Byte
結果 AC
実行時間 13 ms
メモリ 1024 KiB

コンパイルエラー

./Main.cpp: In function ‘int main()’:
./Main.cpp:59:10: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     si(n);
          ^
./Main.cpp:61:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         si(A[i]); 
                 ^

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 11
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All 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
ケース名 結果 実行時間 メモリ
sample_01.txt AC 3 ms 640 KiB
sample_02.txt AC 3 ms 640 KiB
sample_03.txt AC 3 ms 640 KiB
subtask_1_invalid_01.txt AC 12 ms 1024 KiB
subtask_1_invalid_02.txt AC 5 ms 640 KiB
subtask_1_max_01.txt AC 3 ms 640 KiB
subtask_1_max_02.txt AC 3 ms 640 KiB
subtask_1_max_valid_01.txt AC 13 ms 1024 KiB
subtask_1_max_valid_02.txt AC 13 ms 1024 KiB
subtask_1_min_valid_01.txt AC 3 ms 640 KiB
subtask_1_rand_01.txt AC 3 ms 640 KiB
subtask_1_rand_02.txt AC 3 ms 640 KiB
subtask_1_valid_01.txt AC 8 ms 896 KiB
subtask_1_valid_02.txt AC 5 ms 768 KiB