답안 #755814

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
755814 2023-06-10T16:21:58 Z vjudge1 A Huge Tower (CEOI10_tower) C++17
20 / 100
1000 ms 94444 KB
///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

tower.cpp: In function 'void solve()':
tower.cpp:31:14: warning: unused variable 'ans' [-Wunused-variable]
   31 |    long long ans=0;
      |              ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 19 ms 1252 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 980 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 590 ms 14464 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1070 ms 24640 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1054 ms 25984 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 544 ms 14672 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1012 ms 30564 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1078 ms 76080 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1063 ms 94444 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1061 ms 23772 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1072 ms 17452 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 22432 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 4224 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1028 ms 3324 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1069 ms 1320 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1077 ms 1432 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 10 ms 2004 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 10 ms 1996 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -