Submission #755814

#TimeUsernameProblemLanguageResultExecution timeMemory
755814vjudge1A Huge Tower (CEOI10_tower)C++17
20 / 100
1078 ms94444 KiB
///YOU WILL MAKE IT #include<bits/stdc++.h> using namespace std; const int N=1e5+4; long long MOD=1e9+7; map<pair<int,int>,long long> memo; long long y[N],n,d; long long dp(int i,int j){ //cout<<i<<" "<<j<<endl; if(__builtin_popcount(j)==n){ return 1; } if(memo.count({i,j})) return memo[{i,j}]; memo[{i,j}]=0; for(int h=0;h<n;h++){ if((!(j&(1<<h)))&&y[i]+d>=y[h]){ memo[{i,j}]+=dp(h,j^(1<<h)); memo[{i,j}]%=MOD; } } return memo[{i,j}]; } void solve(){ // memset(memo,-1,sizeof(memo)); cin>>n>>d; for(int i=0;i<n;i++){ cin>>y[i]; } y[n]=1e18; long long ans=0; cout<<dp(n,0)<<endl; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int t=1; // cin>>t; while(t--){ solve(); } } // Bac Math 2k24

Compilation message (stderr)

tower.cpp: In function 'void solve()':
tower.cpp:31:14: warning: unused variable 'ans' [-Wunused-variable]
   31 |    long long ans=0;
      |              ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...