Submission #187217

#TimeUsernameProblemLanguageResultExecution timeMemory
187217PedroBigManRoller Coaster Railroad (IOI16_railroad)C++14
11 / 100
2056 ms524292 KiB
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include "railroad.h"
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
typedef long double ld;
#define REP(i,a,b) for(ll i=a; i<b; i++)
#define pb push_back
#define mp make_pair
#define pl pair<ll,ll>
#define ff first
#define ss second
#define INF 10000000000LL
ll insig; ll ans; ll N;
vector<ll> s,t;
#define In(vecBRO, LENBRO) REP(IBRO,0,LENBRO) {cin>>insig; vecBRO.pb(insig);}
void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
void Expose(set<pl> x) 
{
    set<pl>::iterator it=x.begin();
    REP(i,0,x.size()) {cout<<(*it).ff<<" "<<(*it).ss<<endl; it++;}
}

void Perm(ll k, vector<ll> a,vector<bool> visited)
{
    if(k==N)
    {
        ll curans=0LL;
        REP(i,0,N-1)
        {
            curans+=max(0LL,t[a[i]]-s[a[i+1]]);
        }
        ans=min(curans,ans);
    }
    REP(i,0,N)
    {
        if(!visited[i]) 
        {
            visited[i]=true; a.pb(i);
            Perm(k+1,a,visited);
            visited[i]=false; a.pop_back();
        }
    }
}

ll plan_roller_coaster(vector<int> sss, vector<int> ttt) 
{
    N=sss.size(); ans=INF;
    REP(i,0,N) {s.pb((ll) sss[i]); t.pb((ll) ttt[i]);}
    vector<ll> xx; vector<bool> visited; REP(i,0,N) {visited.pb(false);}
    Perm(0,xx,visited);
    return ans;
}

Compilation message (stderr)

railroad.cpp: In function 'void Out(std::vector<long long int>)':
railroad.cpp:15:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define REP(i,a,b) for(ll i=a; i<b; i++)
railroad.cpp:25:29:
 void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
                             ~~~~~~~~~~~~
railroad.cpp:25:25: note: in expansion of macro 'REP'
 void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
                         ^~~
railroad.cpp: In function 'void Expose(std::set<std::pair<long long int, long long int> >)':
railroad.cpp:15:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define REP(i,a,b) for(ll i=a; i<b; i++)
railroad.cpp:29:9:
     REP(i,0,x.size()) {cout<<(*it).ff<<" "<<(*it).ss<<endl; it++;}
         ~~~~~~~~~~~~             
railroad.cpp:29:5: note: in expansion of macro 'REP'
     REP(i,0,x.size()) {cout<<(*it).ff<<" "<<(*it).ss<<endl; it++;}
     ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...