답안 #755932

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
755932 2023-06-10T17:57:02 Z vjudge1 A Huge Tower (CEOI10_tower) C++17
0 / 100
107 ms 262144 KB
///YOU WILL MAKE IT
#include<bits/stdc++.h>
using namespace std;
const int N=30;
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

tower.cpp: In function 'void solve()':
tower.cpp:37:14: warning: unused variable 'ans' [-Wunused-variable]
   37 |    long long ans=0;
      |              ^~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 94 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 102 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 103 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 97 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 94 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 102 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 93 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 98 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 97 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 96 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 102 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 95 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 102 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 97 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 100 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 107 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 100 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 95 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 99 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 100 ms 262144 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -