Submission #789801

# Submission time Handle Problem Language Result Execution time Memory
789801 2023-07-22T04:44:09 Z mindiyak Roller Coaster Railroad (IOI16_railroad) C++14
0 / 100
107 ms 105632 KB
#include "railroad.h"
#include <vector>
#include <algorithm>
#include <iostream>
#include <unordered_map>
#include <climits>
#include <bitset>

#define pb push_back
using namespace std;
#define ll long long

vector<int>S;
vector<int>T;
vector<vector<ll>> dp((1<<18),vector<ll>(18,1e16));

int calc_cost(int i,int j){
    return max(T[i]-S[j],0);
}

long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
    int n = (int) s.size();
    S = s;T = t;

    for(int i=0;i<n;i++){
        dp[(1<<i)][i] = max(S[i]-1,0);
    }

    for(int i=0;i<(1<<n);i++){
        for(int j=0;j<n;j++){
            if((i&(1<<j)) == 0){
                for(int k=0;k<n;k++){
                    if((i&(1<<k)) != 0){
                        // bitset<8> x(i);
                        // cout << x << " add " << j << " through k " << k << endl;
                        dp[i|(1<<j)][j] = min(dp[i|(1<<j)][j],dp[i][k]+calc_cost(k,j));
                    }
                }
            }
        }
    }

    ll ans = LLONG_MAX;
    for(int i=0;i<n;i++){
        ans = min(ans,dp[(1<<n)-1][i]);
    }

    return ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 27 ms 47444 KB answer is not correct: 753393669 instead of 0
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 27 ms 47444 KB answer is not correct: 753393669 instead of 0
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 107 ms 105632 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 27 ms 47444 KB answer is not correct: 753393669 instead of 0
2 Halted 0 ms 0 KB -