Submission #1214960
Source Code Expand
#pragma comment(linker, "/STACK:102400000,102400000")
#include <bits/stdc++.h>
using namespace std;
#define vi vector<int>
#define pii pair<int,int>
#define pb push_back
#define mp make_pair
#define all(x) x.begin(),x.end()
#define SZ(x) (int)(x.size())
#define rep(i,a,b) for(int i=a;i<b;i++)
#define per(i,a,b) for(int i=b-1;i>=a;i--)
#define inf 1000000007
#define mod 1000000007
#define x first
#define y second
#define pi acos(-1.0)
#define DBG(x) cerr<<(#x)<<"="<<x<<"\n";
//#define dprintf(...)
#define hash _hash
#define next _next
//#define dprintf(...) fprintf(outFile,__VA_ARGS__)
#define FOREACH(it,x) for(__typeof(x.begin()) it=x.begin();it!=x.end();it++)
#define ull unsigned long long
#define ll long long
#define N 200010
template <class T,class U>inline void Max(T &a,U b){if(a<b)a=b;}
template <class T,class U>inline void Min(T &a,U b){if(a>b)a=b;}
//FILE* outFile;
inline void add(int &a,int b){a+=b;if(a>=mod)a-=mod;}
int pow(int a,int b){
int ans=1;
while(b){
if(b&1)ans=ans*(ll)a%mod;
a=(ll)a*a%mod;b>>=1;
}
return ans;
}
int a[101],dp[51][101][101];
int main(){
//freopen("A.in","r",stdin);
//freopen("A.out","w",stdout);
//cout<<setprecision(9)<<fixed;
//cerr<<setprecision(9)<<fixed;
int T,i,j,k,ca=0,m,K,n;
scanf("%d",&n);m=2*n-1;
map<int,int>g;
rep(i,0,m){
scanf("%d",&a[i]);g[a[i]]=1;
}
int id=0;
for(auto &o:g)o.y=++id;
rep(i,0,m)a[i]=g[a[i]];
sort(a,a+m);
dp[0][1][0]=1;
int ans=0;
rep(i,0,n){
rep(j,1,a[n+i-1]-a[n-i-1]+2){
rep(k,0,j)if(dp[i][j][k]){
if(i==n-1){
add(ans,dp[i][j][k]);continue;
}
int nj=j,nk=k;
if(a[n-i-1]!=a[n-i-2])nj++,nk++;
if(a[n+i-1]!=a[n+i])nj++;
rep(l,0,nj)add(dp[i+1][nj-max(abs(l-nk)-1,0)][l-max(l-nk-1,0)],dp[i][j][k]);
}
}
}
printf("%d\n",ans);
//cerr<<clock()*1./CLOCKS_PER_SEC<<"ms\n";
return 0;
}
Submission Info
Submission Time
2017-04-10 11:54:49+0900
Task
F - Prefix Median
User
cn16sp1357u
Language
C++14 (GCC 5.4.1)
Score
2000
Code Size
2123 Byte
Status
AC
Exec Time
29 ms
Memory
1408 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:52:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);m=2*n-1;
^
./Main.cpp:55:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&a[i]);g[a[i]]=1;
^
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
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
29 ms
1408 KB
02.txt
AC
21 ms
1280 KB
03.txt
AC
4 ms
640 KB
04.txt
AC
2 ms
512 KB
05.txt
AC
2 ms
384 KB
06.txt
AC
10 ms
896 KB
07.txt
AC
29 ms
1408 KB
08.txt
AC
2 ms
384 KB
09.txt
AC
29 ms
1408 KB
10.txt
AC
1 ms
256 KB
11.txt
AC
1 ms
256 KB
12.txt
AC
2 ms
384 KB
13.txt
AC
8 ms
768 KB
14.txt
AC
14 ms
1024 KB
15.txt
AC
1 ms
256 KB
16.txt
AC
9 ms
1024 KB
17.txt
AC
1 ms
256 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
512 KB
24.txt
AC
1 ms
384 KB
25.txt
AC
2 ms
512 KB
26.txt
AC
3 ms
640 KB
27.txt
AC
1 ms
384 KB
28.txt
AC
9 ms
1024 KB
29.txt
AC
1 ms
384 KB
30.txt
AC
2 ms
512 KB
31.txt
AC
1 ms
256 KB
32.txt
AC
2 ms
512 KB
33.txt
AC
1 ms
256 KB
34.txt
AC
2 ms
512 KB
35.txt
AC
5 ms
896 KB
36.txt
AC
1 ms
256 KB
37.txt
AC
7 ms
896 KB
38.txt
AC
2 ms
512 KB
39.txt
AC
2 ms
512 KB
40.txt
AC
1 ms
384 KB
41.txt
AC
4 ms
768 KB
42.txt
AC
10 ms
1024 KB
43.txt
AC
1 ms
384 KB
44.txt
AC
11 ms
1152 KB
45.txt
AC
1 ms
256 KB
46.txt
AC
1 ms
256 KB
47.txt
AC
1 ms
384 KB
48.txt
AC
4 ms
640 KB
49.txt
AC
6 ms
896 KB
50.txt
AC
1 ms
256 KB
51.txt
AC
1 ms
384 KB