# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1030689 | vjudge1 | Roller Coaster Railroad (IOI16_railroad) | C++17 | 447 ms | 42404 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>
using namespace std;
#include "railroad.h"
int rev[500100],par[500100],prf[500100];
int abp(int n){
return par[n]?par[n]=abp(par[n]):n;
}
bool merge(int a,int b){
a=abp(a),b=abp(b);
if(a-b)return par[a]=b;
return 0;
}
long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
int n = (int) s.size();
map<int,int>mp;
s.push_back(1e9);
t.push_back(1);
for(auto i:s) mp[i];
for(auto i:t) mp[i];
int CC=0;
for(auto&[i,j]:mp)
rev[j=++CC]=i;
long long ans=0;
for(int i=0;i<=n;i++){
s[i]=mp[s[i]];
t[i]=mp[t[i]];
merge(s[i],t[i]);
prf[s[i]]++;
prf[t[i]]--;
}
Compilation message (stderr)
# | 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... |