Submission #1212706


Source Code Expand

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<queue>
#include<set>
#include<map>
#include<stack>
#include<bitset>
#include<ext/pb_ds/priority_queue.hpp>
using namespace std;

const int N = 55;
const int M = 155;
typedef long long LL;
const LL mo = 1000000007;

int n,m,Ans,A[M],d[N],f[N][M][M];
bool Min[N],Max[N];

void Add(int &x,const int &y) {x += y; if (x > mo) x -= mo;}

int main()
{
	#ifdef DMC
		freopen("DMC.txt","r",stdin);
	#endif
	
	cin >> n; m = 2 * n - 1;
	for (int i = 1; i <= m; i++) scanf("%d",&A[i]);
	sort(A + 1,A + m + 1); int mid = 1 + m >> 1;
	for (int i = 2; i <= n; i++)
	{
		if (A[mid - i + 1] != A[mid - i + 2]) ++d[i],Min[i] = 1;
		if (A[mid + i - 1] != A[mid + i - 2]) ++d[i],Max[i] = 1;
	}
	f[1][1][1] = 1;
	for (int i = 1; i < n; i++)
		for (int j = 1; j <= m; j++)
			for (int k = 1; k <= j; k++)
			{
				if (!f[i][j][k]) continue;
				int tot = j + d[i + 1];
				int pos = Min[i + 1] ? k + 1 : k;
				for (int l = 1; l < pos; l++)
					Add(f[i + 1][tot - (pos - l - 1)][l],f[i][j][k]);
				Add(f[i + 1][tot][pos],f[i][j][k]);
				for (int l = pos + 1; l <= tot; l++)
					Add(f[i + 1][tot - (l - pos - 1)][pos + 1],f[i][j][k]);
			}
	for (int i = 1; i <= m; i++)
		for (int j = 1; j <= i; j++)
			Add(Ans,f[n][i][j]);
	cout << Ans << endl;
	return 0;
}

Submission Info

Submission Time
Task F - Prefix Median
User Charming_Chen
Language C++14 (GCC 5.4.1)
Score 2000
Code Size 1413 Byte
Status AC
Exec Time 21 ms
Memory 3072 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:32:48: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for (int i = 1; i <= m; i++) scanf("%d",&A[i]);
                                                ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 2000 / 2000
Status
AC × 3
AC × 54
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 1 ms 256 KB
00_example_02.txt AC 1 ms 256 KB
00_example_03.txt AC 1 ms 384 KB
01.txt AC 21 ms 3072 KB
02.txt AC 16 ms 2816 KB
03.txt AC 4 ms 2560 KB
04.txt AC 3 ms 2560 KB
05.txt AC 2 ms 512 KB
06.txt AC 8 ms 2560 KB
07.txt AC 21 ms 3072 KB
08.txt AC 2 ms 512 KB
09.txt AC 21 ms 3072 KB
10.txt AC 1 ms 256 KB
11.txt AC 1 ms 384 KB
12.txt AC 2 ms 512 KB
13.txt AC 6 ms 2560 KB
14.txt AC 10 ms 2560 KB
15.txt AC 1 ms 256 KB
16.txt AC 8 ms 2816 KB
17.txt AC 1 ms 384 KB
18.txt AC 1 ms 256 KB
19.txt AC 1 ms 256 KB
20.txt AC 1 ms 384 KB
21.txt AC 1 ms 384 KB
22.txt AC 1 ms 256 KB
23.txt AC 2 ms 2560 KB
24.txt AC 1 ms 384 KB
25.txt AC 2 ms 2560 KB
26.txt AC 3 ms 2560 KB
27.txt AC 1 ms 384 KB
28.txt AC 7 ms 2688 KB
29.txt AC 2 ms 2560 KB
30.txt AC 2 ms 2560 KB
31.txt AC 1 ms 256 KB
32.txt AC 2 ms 2560 KB
33.txt AC 1 ms 256 KB
34.txt AC 2 ms 2560 KB
35.txt AC 4 ms 2560 KB
36.txt AC 1 ms 256 KB
37.txt AC 6 ms 2688 KB
38.txt AC 2 ms 2560 KB
39.txt AC 2 ms 2560 KB
40.txt AC 1 ms 384 KB
41.txt AC 4 ms 2560 KB
42.txt AC 9 ms 2816 KB
43.txt AC 1 ms 512 KB
44.txt AC 9 ms 2816 KB
45.txt AC 1 ms 256 KB
46.txt AC 1 ms 384 KB
47.txt AC 1 ms 384 KB
48.txt AC 3 ms 2560 KB
49.txt AC 5 ms 2560 KB
50.txt AC 1 ms 256 KB
51.txt AC 2 ms 2432 KB