Submission #1311802

#TimeUsernameProblemLanguageResultExecution timeMemory
1311802settopRoller Coaster Railroad (IOI16_railroad)C++20
0 / 100
161 ms16080 KiB
#include "railroad.h" #include<bits/stdc++.h> using namespace std; #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define ll long long #define fall(i,a,b) for(int i=a;i<=b;i++) #define rfall(i,a,b) for(int i=a;i>=b;i--) #define pb push_back #define all(x) x.begin(),x.end() #define sz(x) (int)x.size() #define ordered_set tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> const ll inf=1e16; typedef pair<ll,ll> pii; long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) { int n = sz(s); set<pii> st; fall(i,0,n-1) st.insert({t[i],i}); int cara=0; long long ans=0; fall(i,1,n-1) if(t[i]>t[cara]) cara=i; st.erase({t[cara],cara}); while(sz(st)){ auto it=st.upper_bound({s[cara],-1}); if(it!=st.begin()) it--; auto [u,i]=*it; ans+=max(0ll,u-s[cara]); cara=i; st.erase(it); } return ans; }

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