Submission #292485

#TimeUsernameProblemLanguageResultExecution timeMemory
292485Aldas25Roller Coaster Railroad (IOI16_railroad)C++14
11 / 100
2092 ms10836 KiB
#include "railroad.h"
#include <bits/stdc++.h>

using namespace std;

#define FOR(i, a, b) for (int i = (a); i <= (b); i++)
#define REP(n) FOR(O, 1, (n))
#define f first
#define s second
#define pb push_back
typedef vector<int> vi;
typedef long long ll;

ll checkPerm (vi perm, vi s, vi t, int n) {
    ll ret = 0;
    ll curS = 1;
    //FOR(i, 0, n-1) {

    //    cout << " i = " << i << "  s = " << s[i] << " t= " << t[i] << endl;
   // }
    FOR(i, 0, n-1) {
        ret += max(0ll, curS - s[perm[i]]);
        curS = t[perm[i]];
        //cout << " i = " << i << "  perm i  = " << perm[i] << " curS = " << curS << endl;
    }
    //cout << "   ret = " << ret << endl;
    return ret;
}

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

    vi perm(n);
    FOR(i, 0,n-1) perm[i] = i;
    ll ans = 1e18;
    do {
        ans = min(ans, checkPerm(perm, s, t, n));
    } while (next_permutation(perm.begin(), perm.end()));

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