Submission #1208403

#TimeUsernameProblemLanguageResultExecution timeMemory
1208403ansoriRoller Coaster Railroad (IOI16_railroad)C++20
34 / 100
28 ms11104 KiB
#include "railroad.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll inf = 1e16;
long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
    int n = (int) s.size();
  	if(n <= 16){
  		vector<vector<ll>> dp(vector<vector<ll>> (1 << n , vector<ll> (n , inf)));
  		for(int i = 0;i < n; ++ i) dp[0][i] = 0;
  		for(int i = 1;i < (1 << n); ++ i){
  			for(int j = 0;j < n; ++ j){
  				if(i & (1 << j)){
  					int z = (i - (1 << j));
  					if(z == 0) dp[i][j] = 0;
					for(int p = 0;p < n; ++ p){
						dp[i][j] = min(dp[i][j] , dp[z][p] + max(0 , t[p] - s[j]));
					}
  				}
  			}
  		}
  		ll ans = inf;
  		for(int i = 0;i < n; ++ i) ans = min(ans , dp[(1 << n) - 1][i]);
  		return ans;
  	}
    return 1;
}

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...