Submission #352761

#TimeUsernameProblemLanguageResultExecution timeMemory
352761tengiz05Roller Coaster Railroad (IOI16_railroad)C++17
11 / 100
2079 ms10348 KiB
#include "railroad.h"
#ifndef EVAL
#include "grader.cpp"
#endif
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
vector<int> s, t;
ll cost[18][18];
ll ans, sum;
bool used[18];
void rec(int i, int etap){
	if(sum >= ans)return;
	if(etap == n){
		ans = min(ans, sum);
		return;
	}
	for(int j=0;j<n;j++){
		if(used[j])continue;
		sum += max(0, t[i] - s[j]);
		used[j] = true;
		rec(j, etap+1);
		used[j] = false;
		sum -= max(0, t[i] - s[j]);
	}
	return;
}
ll plan_roller_coaster(vector<int> sk, vector<int> tk) {
	s = sk, t = tk;
	n = s.size();
	ans = 1e18;
	for(int j=0;j<n;j++){
		used[j] = true;
		rec(j,1);
		used[j] = false;
	}
	return ans;
}







#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...