Submission #379954

#TimeUsernameProblemLanguageResultExecution timeMemory
379954Pichon5Roller Coaster Railroad (IOI16_railroad)C++17
11 / 100
2081 ms4708 KiB
#include "railroad.h"
#include<bits/stdc++.h>
#define lcm(a,b) (a/__gcd(a,b))*b
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define ll long long int
#define vi vector<int>
#define vll vector<ll>
#define pb push_back
#define F first
#define S second
#define mp make_pair
//salida rapida "\n"
//DECIMALES fixed<<sp(n)<<x<<endl;
//gcd(a,b)= ax + by
//lCB x&-x
//set.erase(it) - ersases the element present at the required index//auto it = s.find(element)
//set.find(element) - iterator pointing to the given element if it is present else return pointer pointing to set.end()
//set.lower_bound(element) - iterator pointing to element greater than or equal to the given element
//set.upper_bound(element) - iterator pointing to element greater than the given element
// | ^
//__builtin_popcount(x)
using namespace std;
long long plan_roller_coaster(vector<int> s,vector<int> t) {
    int n = (int) s.size();
    ll res=1e18;
    vi a;
    for(int i=0;i<n;i++){
        a.pb(i);
    }
    do{
        ll curr=0,aux=0;
        for(int i=0;i<n;i++){
            int l=a[i];
            if(curr>s[l]){
                aux+=(curr-s[l]);
            }
            curr=t[l];
        }
        res=min(res,aux);
    }while(next_permutation(a.begin(),a.end()));
    return res;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...