#pragma once
#include<vector>
#include"graph_template.hpp"
#pragma once
#include<vector>
#include<queue>
#include<functional>
#include<tuple>
#include<limits>
#include"graph_template.hpp"
/**
* @brief 最短経路木 O((E+V)logE)
*/template<typenameT,typenameF=std::less<T>>std::vector<int>shortest_path_tree_dijkstra(constgraph_w<T>&list,ints,Tzero=0,Tinf=std::numeric_limits<T>::max(),Ff=F()){std::priority_queue<std::pair<T,int>,std::vector<pair<T,int>>,std::greater<std::pair<T,int>>>que;std::vector<T>diff(list.size(),inf);diff[s]=zero;que.push(make_pair(T(),s));std::vector<int>par(list.size(),-1);while(!que.empty()){autod=que.top();que.pop();Tx;intnow;tie(x,now)=d;for(autod2:list[now]){Tsa;intto;tie(to,sa)=d2;if(f(diff[now]+sa,diff[to])){diff[to]=diff[now]+sa;par[to]=now;que.emplace(diff[to],to);}}}returnpar;}
Traceback(mostrecentcalllast):File"/opt/hostedtoolcache/Python/3.9.1/x64/lib/python3.9/site-packages/onlinejudge_verify/documentation/build.py",line71,in_render_source_code_statbundled_code=language.bundle(stat.path,basedir=basedir,options={'include_paths':[basedir]}).decode()File"/opt/hostedtoolcache/Python/3.9.1/x64/lib/python3.9/site-packages/onlinejudge_verify/languages/cplusplus.py",line193,inbundlebundler.update(path)File"/opt/hostedtoolcache/Python/3.9.1/x64/lib/python3.9/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py",line312,inupdateraiseBundleErrorAt(path,i+1,"#pragma once found in a non-first line")onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt:graph_tree/shortest_path_tree_dijkstra.hpp:line5:#pragmaoncefoundinanon-firstline