Submission #132867

# Submission time Handle Problem Language Result Execution time Memory
132867 2019-07-19T20:19:46 Z tushar_2658 Skyscraper (JOI16_skyscraper) C++14
15 / 100
1294 ms 196544 KB
#include "bits/stdc++.h"
using namespace std; 

const int maxn = 105;
int a[maxn];
long long dp[1 << 15][15][105];
int n, m;
long long mod = 1e9 + 7;

int main(int argc, char const *argv[])
{
//    freopen("in.txt", "r", stdin);
    scanf("%d %d", &n, &m);
    for(int i=0; i<n; i++){
        scanf("%d", &a[i]);
    }
    for(int i=0; i<n; i++){
        dp[1 << i][i][0] = 1;
    }
    for(int mask = 0; mask < (1 << n); mask++){
        for(int j=0; j<n; j++){
            if((mask >> j)&1){
                for(int k=0; k <= m; k++){
                    for(int l=0; l<n; l++){
                        if((mask >> l)&1){}
                        else {
                            if(k + abs(a[l] - a[j]) <= m){
                                dp[mask | (1 << l)][l][k + abs(a[l] - a[j])] =(dp[mask][j][k] + dp[mask | (1 << l)][l][k + abs(a[l] - a[j])])%mod;
                            }
                        }
                    }
                }
            }
        }
    }
    int ans = 0;
    for(int i=0; i<n; i++){
        for(int j=0; j<m+1; j++){
            ans += dp[(1 << n)-1][i][j];
            ans %= mod;
        }
    }cout << ans <<endl;

    return 0;
}

Compilation message

skyscraper.cpp: In function 'int main(int, const char**)':
skyscraper.cpp:13:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d", &n, &m);
     ~~~~~^~~~~~~~~~~~~~~~~
skyscraper.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a[i]);
         ~~~~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 3 ms 760 KB Output is correct
5 Incorrect 46 ms 3368 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 206 ms 47084 KB Output is correct
2 Correct 1187 ms 196544 KB Output is correct
3 Correct 806 ms 195056 KB Output is correct
4 Correct 1193 ms 196216 KB Output is correct
5 Correct 1132 ms 196344 KB Output is correct
6 Correct 1294 ms 196496 KB Output is correct
7 Correct 552 ms 194444 KB Output is correct
8 Correct 782 ms 195024 KB Output is correct
9 Correct 1161 ms 195884 KB Output is correct
10 Correct 1135 ms 195976 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 3 ms 760 KB Output is correct
5 Incorrect 46 ms 3368 KB Output isn't correct
6 Halted 0 ms 0 KB -