# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1170144 | edga1 | Commuter Pass (JOI18_commuter_pass) | C++20 | 272 ms | 20964 KiB |
#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
#define se second
#define fi first
#define pb push_back
using namespace std;
vector<pair<int,int>> e[100005];
vector<int> ne[100005];
long long minU[100005], minV[100005];
void d(int s, vector<long long> &att){
att[s]=0;
priority_queue<pair<long long,int>, vector<pair<long long,int>>, greater<pair<long long,int>>> pq;
vector<int> seen(100005,0);
pq.push({0,s});
while(!pq.empty()){
auto cur=pq.top();
int pos=cur.second;
pq.pop();
if(!seen[pos]){
for(int i=0; i<e[pos].size(); i++){
if(att[pos]+e[pos][i].second<att[e[pos][i].first] || att[e[pos][i].first]==-1){
att[e[pos][i].first]=att[pos]+e[pos][i].second;
pq.push({att[pos]+e[pos][i].second,e[pos][i].first});
}
}
seen[pos]=1;
# | 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... |