Submission #1201665
Source Code Expand
#include<bits/stdc++.h> const int N = 110; const int moder = 1e9 + 7; int dp[N][N][N], a[N]; int n; int main(){ scanf("%d", &n); for (int i = 1; i < n << 1; ++ i){ scanf("%d", &a[i]); } std::sort(a + 1, a + (n << 1)); dp[n][1][1] = 1; for (int i = n; i; -- i){ bool flag1 = a[i - 1] == a[i], flag2 = a[2 * n - i + 1] == a[2 * n - i]; for (int j = 0; j < N; ++ j){ for (int k = 1; k <= j; ++ k){ if (flag1 && flag2){ int &x = dp[i - 1][j][k]; x = (dp[i][j][k] + x) % moder; for (int kk = 1; kk < k; ++ kk){ int &x = dp[i - 1][j - (k - kk - 1)][kk]; x = (x + dp[i][j][k]) % moder; } for (int kk = k + 1; kk <= j; ++ kk){ int &x = dp[i - 1][j - (kk - k - 1)][k + 1]; x = (x + dp[i][j][k]) % moder; } } else if (flag1){ int &x = dp[i - 1][j + 1][k]; x = (dp[i][j][k] + x) % moder; for (int kk = 1; kk < k; ++ kk){ int &x = dp[i - 1][j - (k - kk - 1) + 1][kk]; x = (x + dp[i][j][k]) % moder; } for (int kk = k + 1; kk <= j + 1; ++ kk){ int &x = dp[i - 1][j - (kk - k - 1) + 1][k + 1]; x = (x + dp[i][j][k]) % moder; } } else if (flag2){ int &x = dp[i - 1][j + 1][k + 1]; x = (dp[i][j][k] + x) % moder; for (int kk = 0; kk < k; ++ kk){ int &x = dp[i - 1][j - (k - kk - 1) + 1][kk + 1]; x = (x + dp[i][j][k]) % moder; } for (int kk = k + 1; kk <= j; ++ kk){ int &x = dp[i - 1][j - (kk - k - 1) + 1][k + 2]; x = (x + dp[i][j][k]) % moder; } } else{ int &x = dp[i - 1][j + 2][k + 1]; x = (dp[i][j][k] + x) % moder; for (int kk = 0; kk < k; ++ kk){ int &x = dp[i - 1][j - (k - kk - 1) + 2][kk + 1]; x = (x + dp[i][j][k]) % moder; } for (int kk = k + 1; kk <= j + 1; ++ kk){ int &x = dp[i - 1][j - (kk - k - 1) + 2][k + 2]; x = (x + dp[i][j][k]) % moder; } } } } } int ans = 0; for (int i = 0; i < N; ++ i){ for (int j = 0; j < N; ++ j){ ans = (ans + dp[1][i][j]) % moder; } } return printf("%d\n", ans), 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Prefix Median |
User | zhongzihao |
Language | C++14 (GCC 5.4.1) |
Score | 2000 |
Code Size | 2158 Byte |
Status | AC |
Exec Time | 62 ms |
Memory | 4352 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:10:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ ./Main.cpp:12:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &a[i]); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 2000 / 2000 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt |
All | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_example_01.txt | AC | 4 ms | 384 KB |
00_example_02.txt | AC | 6 ms | 384 KB |
00_example_03.txt | AC | 19 ms | 896 KB |
01.txt | AC | 62 ms | 4352 KB |
02.txt | AC | 57 ms | 4352 KB |
03.txt | AC | 36 ms | 1664 KB |
04.txt | AC | 29 ms | 1280 KB |
05.txt | AC | 24 ms | 1152 KB |
06.txt | AC | 47 ms | 2048 KB |
07.txt | AC | 62 ms | 4352 KB |
08.txt | AC | 24 ms | 1152 KB |
09.txt | AC | 62 ms | 4352 KB |
10.txt | AC | 9 ms | 512 KB |
11.txt | AC | 15 ms | 768 KB |
12.txt | AC | 22 ms | 1024 KB |
13.txt | AC | 44 ms | 1920 KB |
14.txt | AC | 51 ms | 2176 KB |
15.txt | AC | 9 ms | 512 KB |
16.txt | AC | 61 ms | 4352 KB |
17.txt | AC | 16 ms | 768 KB |
18.txt | AC | 4 ms | 384 KB |
19.txt | AC | 2 ms | 256 KB |
20.txt | AC | 18 ms | 896 KB |
21.txt | AC | 17 ms | 896 KB |
22.txt | AC | 7 ms | 512 KB |
23.txt | AC | 35 ms | 1536 KB |
24.txt | AC | 23 ms | 1152 KB |
25.txt | AC | 34 ms | 1536 KB |
26.txt | AC | 37 ms | 1664 KB |
27.txt | AC | 22 ms | 1024 KB |
28.txt | AC | 59 ms | 4352 KB |
29.txt | AC | 28 ms | 1280 KB |
30.txt | AC | 37 ms | 1664 KB |
31.txt | AC | 7 ms | 512 KB |
32.txt | AC | 36 ms | 1664 KB |
33.txt | AC | 6 ms | 384 KB |
34.txt | AC | 33 ms | 1536 KB |
35.txt | AC | 56 ms | 4352 KB |
36.txt | AC | 4 ms | 384 KB |
37.txt | AC | 57 ms | 4352 KB |
38.txt | AC | 36 ms | 1664 KB |
39.txt | AC | 29 ms | 1280 KB |
40.txt | AC | 24 ms | 1152 KB |
41.txt | AC | 47 ms | 2048 KB |
42.txt | AC | 61 ms | 4352 KB |
43.txt | AC | 24 ms | 1152 KB |
44.txt | AC | 61 ms | 4352 KB |
45.txt | AC | 9 ms | 512 KB |
46.txt | AC | 14 ms | 768 KB |
47.txt | AC | 22 ms | 1024 KB |
48.txt | AC | 43 ms | 1920 KB |
49.txt | AC | 51 ms | 2176 KB |
50.txt | AC | 9 ms | 512 KB |
51.txt | AC | 60 ms | 4352 KB |