#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
using namespace std;
ll dp[2004],kq[2004];
struct Node{
int fi,se,ba;
};
vector<Node> g[2004];
int main(){
if (fopen("nrsubsecv.in","r")){
freopen("nrsubsecv.in","r",stdin);
freopen("nrsubsecv.out","w",stdout);
}
int n,m;cin>>n>>m;
for (int i=1;i<=m;i++){
int u,v,t,c;cin>>u>>v>>t>>c;
g[u].push_back({v,t,c});g[v].push_back({u,t,c});
}
set<tuple<int,int,int>> st;
memset(dp,0x3f,sizeof(dp));memset(kq,0x3f,sizeof(kq));
st.insert({0,0,1});dp[1]=0;
while (!st.empty()){
auto [time,cost,bd]=*st.begin();st.erase(st.begin());
kq[bd]=min(kq[bd],1LL*time*cost);
// cout<<bd<<" "<<time<<" "<<cost<<endl;
for (auto j:g[bd]){
if (cost+j.ba>dp[j.fi]) continue;
st.insert({time+j.se,cost+j.ba,j.fi});
dp[j.fi]=cost+j.ba;
}
}
for (int i=2;i<=n;i++) {
if (kq[i]>=1e15) cout<<"-1"<<endl;else cout<<kq[i]<<endl;
}
}
Compilation message (stderr)
ceste.cpp: In function 'int main()':
ceste.cpp:13:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
13 | freopen("nrsubsecv.in","r",stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
ceste.cpp:14:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
14 | freopen("nrsubsecv.out","w",stdout);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 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... |
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |