Submission #2202386
Source Code Expand
#include <cstdio> #include <algorithm> using namespace std; #define ref(i,x,y)for(int i=x;i<=y;++i) #define def(i,x,y)for(int i=x;i>=y;--i) const int mod=1e9+7; void inc(int&a,int b){ a+=b;if(a>=mod)a-=mod; } int n,ans,a[100],f[100][100][51][51],g[100][100][51][51];bool b[100]; int main(){ scanf("%d",&n); ref(i,1,2*n-1)scanf("%d",&a[i]); sort(a+1,a+2*n); ref(i,1,n-1)if(a[i+1]!=a[i])b[i]=1;b[n]=1; ref(i,n+1,2*n-1)if(a[i-1]!=a[i])b[i]=1; f[n][n][1][1]=1; def(ti,n,2){ //printf("%d\n",f[4][4][1][1]); ref(L,1,2*n-1)ref(i,ti,2*n-L){ int j=i+L-1; if(2*n-j<ti)continue; ref(t,1,n-ti+1)ref(k,1,t)if(f[i][j][t][k]){ //if(i==4&&j==4&&t==1&&k==1)printf("%d\n",ti); int s=f[i][j][t][k]; ref(K,1,k-1) inc(g[i][j][t-(k-K-1)][K],s); ref(K,k+1,t) inc(g[i][j][t-(K-k-1)][k+1],s); inc(g[i][j][t][k],s); ref(I,(ti-1),i-1) if(b[I]) inc(g[I][j][t-kl+2][1],s); ref(J,j+1,2*n-ti+1) if(b[J]) inc(g[i][J][k+1][k+1],s); } } ref(i,1,2*n-1)ref(j,1,2*n-1)ref(t,1,n-ti+2)ref(k,1,t) f[i][j][t][k]=g[i][j][t][k],g[i][j][t][k]=0; } ref(i,1,2*n-1)ref(j,i,2*n-1)ref(t,1,n)ref(k,1,t) inc(ans,f[i][j][t][k]); printf("%d\n",ans); }
Submission Info
Submission Time | |
---|---|
Task | F - Prefix Median |
User | fangyoule |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1200 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:29:46: error: ‘kl’ was not declared in this scope ref(I,(ti-1),i-1) if(b[I]) inc(g[I][j][t-kl+2][1],s); ^ ./Main.cpp:12:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ ./Main.cpp:13:33: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] ref(i,1,2*n-1)scanf("%d",&a[i]); ^