Submission #1186755

#TimeUsernameProblemLanguageResultExecution timeMemory
1186755AgageldiRoller Coaster Railroad (IOI16_railroad)C++20
11 / 100
2095 ms15764 KiB
#include "bits/stdc++.h" // #include "grader.cpp" #include "railroad.h" using namespace std; #define ll long long #define N 200005 #define ff first #define ss second ll a[N], answer = LLONG_MAX, n; vector <int> s1, t1; set <int> p; map <set<int>, ll> vis; ll solve(int x,ll op) { if(!(int)p.size()){ answer = min(answer,op); return 0; } // cout << op << " " << x << '\n'; // if(vis.find(p) != vis.end()) { // answer = min(vis[p] + op, answer); // return vis[p]; // } ll calc = LLONG_MAX, val = op; for(int i = 0; i < n; i++) { if(p.find(i) == p.end()) continue; p.erase(i); calc = min(solve(i,val + max(0,t1[x] - s1[i])),calc); p.insert(i); } // vis[p] = calc; // answer = min(answer,calc + val); // cout << calc << " " << val<< '\n'; return calc; } ll plan_roller_coaster(vector<int> s, vector<int> t) { n = (int)s.size(); s1 = s, t1 = t; for(int i = 0; i < n; i++) { p.insert(i); } for(int i = 0; i < n; i++) { p.erase(i); solve(i, 0); p.insert(i); } return answer; }

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