Submission #755930

#TimeUsernameProblemLanguageResultExecution timeMemory
755930vjudge1A Huge Tower (CEOI10_tower)C++17
0 / 100
116 ms262144 KiB
///YOU WILL MAKE IT #include<bits/stdc++.h> using namespace std; const int N=1e5+4; long long MOD=1e9+9; long long memo[20][1<<21]; int y[N],n,d; long long dp(int i,int j){ // cout<<i<<" "<<j<<endl; if(__builtin_popcount(j)==n){ return 1; } if(memo[i][j]!=-1) return memo[i][j]; memo[i][j]=0; int ind=upper_bound(y,y+n,y[i]+d)-y; ind--; if(j==0){ ind=n-1; } //cout<<ind<<" "<<y[i]<<endl; for(int h=0;h<=ind;h++){ if(j==0||(!(j&(1<<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]=1e9; long long ans=0; sort(y,y+n); cout<<dp(0,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:37:14: warning: unused variable 'ans' [-Wunused-variable]
   37 |    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...