Submission #1535004
Source Code Expand
using System; using System.Collections.Generic; using System.Linq; using System.IO; using System.Globalization; using System.Diagnostics; using static System.Console; using Pair = System.Collections.Generic.KeyValuePair<int, int>; //using System.Numerics; class Program { static void Main() { //SetOut(new StreamWriter(OpenStandardOutput()) { AutoFlush = false }); new Program().solve(); Out.Flush(); } Scanner cin = new Scanner(); Random rnd = new Random(); Stopwatch sw = new Stopwatch(); readonly int[] dd = { 0, 1, 0, -1, 0 }; readonly int mod = 1000000007; readonly string alfa = "abcdefghijklmnopqrstuvwxyz"; readonly string ALFA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int N; void solve() { N = cin.nextint; var A = cin.scanint; var B = new int[N]; foreach (var item in A) { B[item]++; } bool flag = true; if (N % 2 == 0 && B[0] != 0) flag = false; if (N % 2 == 1 && B[0] != 1) flag = false; for (int i = 1 + (N % 2); i < N; i += 2) { //WriteLine(i + " " + B[i]); if (B[i] != 2) flag = false; } if (flag) { long ans = 1; for (int i = 0; i < N / 2; i++) { ans *= 2; ans %= mod; } WriteLine(ans); } else { WriteLine(0); } } } class Scanner { string[] s; int i; char[] cs = new char[] { ' ' }; public Scanner() { s = new string[0]; i = 0; } public string[] scan { get { return ReadLine().Split(); } } public int[] scanint { get { return Array.ConvertAll(scan, int.Parse); } } public long[] scanlong { get { return Array.ConvertAll(scan, long.Parse); } } public double[] scandouble { get { return Array.ConvertAll(scan, double.Parse); } } public string next { get { if (i < s.Length) return s[i++]; string st = ReadLine(); while (st == "") st = ReadLine(); s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries); i = 0; return next; } } public int nextint { get { return int.Parse(next); } } public long nextlong { get { return long.Parse(next); } } public double nextdouble { get { return double.Parse(next); } } }
Submission Info
Submission Time | |
---|---|
Task | C - Lining Up |
User | claw88 |
Language | C# (Mono 4.6.2.0) |
Score | 300 |
Code Size | 2521 Byte |
Status | AC |
Exec Time | 57 ms |
Memory | 19292 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
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 | 22 ms | 11216 KB |
sample_02.txt | AC | 22 ms | 9168 KB |
sample_03.txt | AC | 22 ms | 11216 KB |
subtask_1_invalid_01.txt | AC | 51 ms | 16732 KB |
subtask_1_invalid_02.txt | AC | 29 ms | 11996 KB |
subtask_1_max_01.txt | AC | 56 ms | 17372 KB |
subtask_1_max_02.txt | AC | 56 ms | 19292 KB |
subtask_1_max_valid_01.txt | AC | 56 ms | 15324 KB |
subtask_1_max_valid_02.txt | AC | 57 ms | 17372 KB |
subtask_1_min_valid_01.txt | AC | 23 ms | 11216 KB |
subtask_1_rand_01.txt | AC | 42 ms | 13532 KB |
subtask_1_rand_02.txt | AC | 53 ms | 14940 KB |
subtask_1_valid_01.txt | AC | 40 ms | 11356 KB |
subtask_1_valid_02.txt | AC | 30 ms | 12252 KB |