Submission #92882

#TimeUsernameProblemLanguageResultExecution timeMemory
92882LittleFlowers__Skyscraper (JOI16_skyscraper)C++14
15 / 100
352 ms187256 KiB
#include <bits/stdc++.h> #define bit(x,i) (1&(x>>(i-1))) #define on(x,i) (x|(1<<(i-1))) using namespace std; const int M=1e9+7; int n,l,kq; int a[15]; int f[1<<15][15][200]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin>>n>>l; for(int i=1;i<=n;++i) cin>>a[i]; f[0][0][0]=1; for(int tt=0;tt<(1<<n)-1;++tt) for(int i=0;i<=n;++i) for(int t=0;t<=l;++t) if(f[tt][i][t]) for(int j=1;j<=n;++j) if(!bit(tt,j)) { int tt2=on(tt,j); int c=(tt==0 ? 0 : t + abs(a[i]-a[j])); f[tt2][j][c]=(f[tt2][j][c] + f[tt][i][t])%M; } for(int i=1;i<=n;++i) for(int t=0;t<=l;++t) kq=(kq+f[(1<<n)-1][i][t])%M; cout<<kq; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...