Submission #1136962

#TimeUsernameProblemLanguageResultExecution timeMemory
1136962owoovoRoller Coaster Railroad (IOI16_railroad)C++20
34 / 100
31 ms10680 KiB
#include "railroad.h"
#include<bits/stdc++.h>
#define ll long long
#define F first 
#define S second 
using namespace std;
const ll maxn=1e15;
ll dp[70010][20];
long long plan_roller_coaster(vector<int> s, vector<int> t) {
    int n = (int) s.size();
    for(int i=0;i<(1<<n);i++){
        for(int j=0;j<n;j++){
            dp[i][j]=maxn;
        }
    }
    for(int i=0;i<n;i++){
        dp[(1<<i)][i]=0;
    }
    for(int i=1;i<(1<<n);i++){
        for(int j=0;j<n;j++){
            if((i&(1<<j))==0)continue;
            for(int k=0;k<n;k++){
                if((i&(1<<k))!=0)continue;
                int ne=i+(1<<k);
                dp[ne][k]=min(dp[ne][k],dp[i][j]+max(0,t[j]-s[k]));
            }
        }
    }
    ll ans=maxn;
    for(int i=0;i<n;i++){
        ans=min(ans,dp[(1<<n)-1][i]);
    }
    return ans;
}

Compilation message (stderr)

railroad.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
railroad_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...