# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
617810 | Bench0310 | Roller Coaster Railroad (IOI16_railroad) | C++17 | 130 ms | 12720 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "railroad.h"
using namespace std;
typedef long long ll;
ll plan_roller_coaster(vector<int> s,vector<int> t)
{
int n=s.size();
s.push_back((1<<30));
t.push_back(0);
vector<array<int,2>> one(n+1);
for(int i=0;i<=n;i++) one[i]={t[i],i};
vector<array<int,2>> two(n+1);
for(int i=0;i<=n;i++) two[i]={s[i],i};
sort(one.begin(),one.end());
sort(two.begin(),two.end());
vector<int> h(n+1,0);
for(int i=0;i<=n;i++) h[one[i][1]]=i;
for(int i=0;i<=n;i++)
{
one[i][1]=i;
two[i][1]=h[two[i][1]];
//~ cout << "[" << one[i][0] << "," << one[i][1] << "] [" << two[i][0] << "," << two[i][1] << "]" << endl;
}
vector<int> p(n+1,0);
for(int i=0;i<=n;i++) p[i]=i;
vector<int> sz(n+1,1);
function<int(int)> find_set=[&](int a)->int
{
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |