Solutions are presented as using the least memory and the fastest execution time. It also takes the top 10 most recent solutions from each language. If you want to limit to a specific index, click the "Solved" button and go to that problem.
ContestId |
Name |
Phase |
Frozen |
Duration (Seconds) |
Relative Time |
Start Time |
---|---|---|---|---|---|---|
1761 | Pinely Round 1 (Div. 1 + Div. 2) | FINISHED | False | 9000 | 62868299 | Nov. 20, 2022, 2:35 p.m. |
Solved$ |
Index |
Name |
Type |
Tags |
Community Tag |
Rating |
---|---|---|---|---|---|---|
( 83 ) | F2 | Anti-median (Hard Version) | PROGRAMMING | combinatorics dp math |
B"This is the hard version of the problem. The only difference between the two versions is the constraint on n . You can make hacks only if all versions of the problem are solved. Let's call an array a of odd length 2m+1 (with m ge 1 ) bad, if element a_{m+1} is equal to the median of this array. In other words, the array is bad if, after sorting it, the element at m+1 -st position remains the same. Let's call a permutation p of integers from 1 to n anti-median, if every its subarray of odd length ge 3 is not bad. You are already given values of some elements of the permutation. Find the number of ways to set unknown values to obtain an anti-median permutation. As this number can be very large, find it modulo 10^9+7 . The first line contains a single integer t ( 1 <= t <= 10^4 ) -- the number of test cases. The description of test cases follows. The first line of each test case contains a single integer n (2 <= n <= 10^6) -- the length of the permutation. The second line of each test case contains n integers p_1, p_2, ldots, p_n ( 1 <= p_i <= n , or p_i = -1 ) -- the elements of the permutation. If p_i neq -1 , it's given, else it's unknown. It's guaranteed that if for some i neq j holds p_i neq -1, p_j neq -1 , then p_i neq p_j . It is guaranteed that the sum of n over all test cases does not exceed 10^6 . For each test case, output a single integer -- the number of ways to set unknown values to obtain an anti-median permutation, modulo 10^9+7 . In the first test case, both [1, 2] and [2, 1] are anti-median. In the second test case, permutations [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2] are anti-median. The remaining two permutations, [1, 2, 3] , [3, 2, 1] , are bad arrays on their own, as their median, 2 , is in their middle. In the third test case, [1, 2"... |
Pinely Round 1 (Div. 1 + Div. 2) Editorial |
Submission Id |
Author(s) |
Index |
Submitted |
Verdict |
Language |
Test Set |
Tests Passed |
Time taken (ms) |
Memory Consumed (bytes) |
Tags |
Rating |
---|---|---|---|---|---|---|---|---|---|---|---|
181811915 | dmenezes | F2 | Nov. 20, 2022, 6:46 p.m. | OK | GNU C++17 | TESTS | 102 | 795 | 37888000 | ||
181809122 | Benq | F2 | Nov. 20, 2022, 6:18 p.m. | OK | GNU C++17 (64) | TESTS | 102 | 608 | 61132800 | ||
181813278 | ecnerwala | F2 | Nov. 20, 2022, 7:01 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 186 | 18022400 | ||
181813452 | ecnerwala | F2 | Nov. 20, 2022, 7:03 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 264 | 22016000 | ||
181819747 | ecnerwala | F2 | Nov. 20, 2022, 8:22 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 280 | 18022400 | ||
181812897 | ecnerwala | F2 | Nov. 20, 2022, 6:57 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 295 | 18022400 | ||
181812682 | ecnerwala | F2 | Nov. 20, 2022, 6:54 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 296 | 18022400 | ||
181812626 | ecnerwala | F2 | Nov. 20, 2022, 6:54 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 311 | 26112000 | ||
181812463 | ecnerwala | F2 | Nov. 20, 2022, 6:52 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 327 | 26112000 | ||
181811716 | ecnerwala | F2 | Nov. 20, 2022, 6:44 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 374 | 37990400 | ||
181811738 | jiangly | F2 | Nov. 20, 2022, 6:44 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 514 | 49971200 | ||
181814199 | maroonrk | F2 | Nov. 20, 2022, 7:11 p.m. | OK | GNU C++20 (64) | TESTS | 102 | 561 | 142950400 |
Back to search problems