Submission #1202363

#TimeUsernameProblemLanguageResultExecution timeMemory
1202363zeta7532Train (APIO24_train)C++20
5 / 100
138 ms26256 KiB
#include "train.h" #include <bits/stdc++.h> #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") using namespace std; using ll = long long; const ll mod = 998244353; #define fi first #define se second #define rep(i,n) for(ll i=0;i<n;i++) #define all(x) x.begin(),x.end() #define faster ios::sync_with_stdio(false);cin.tie(nullptr) #include <vector> using PP = pair<ll,ll>; const ll INF = 1LL<<60; long long solve(int N, int M, int W, std::vector<int> T, std::vector<int> X, std::vector<int> Y, std::vector<int> A, std::vector<int> B, std::vector<int> C, std::vector<int> L, std::vector<int> R) { vector<pair<ll,ll>> P; P.push_back({0,0}); rep(i,M){ P.push_back({X[i],A[i]}); P.push_back({Y[i],B[i]}); } sort(all(P)); P.erase(unique(all(P)),P.end()); ll K=P.size(); vector<vector<pair<ll,ll>>> G(K); rep(i,K){ if(i<K-1){ if(P[i].fi==P[i+1].fi){ G[i].push_back({i+1,0}); } } } rep(i,M){ ll a=lower_bound(all(P),pair<ll,ll>(X[i],A[i]))-P.begin(); ll b=lower_bound(all(P),pair<ll,ll>(Y[i],B[i]))-P.begin(); G[a].push_back({b,C[i]}); } vector<ll> dis(K,INF); priority_queue<PP,vector<PP>,greater<PP>> pq; dis[0]=0; pq.emplace(dis[0],0); while(!pq.empty()){ PP p=pq.top(); pq.pop(); ll v=p.se; if(p.fi>dis[v]) continue; for(auto e:G[v]){ if(dis[e.fi]>dis[v]+e.se){ dis[e.fi]=dis[v]+e.se; pq.emplace(dis[e.fi],e.fi); } } } ll ans=INF; rep(i,K){ if(P[i].fi==N-1){ ans=min(ans,dis[i]); } } if(ans==INF) ans=-1; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...