#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
using namespace std;
ll dp[2004],kq[2004],vs[2004];
struct Node{
ll fi,se,ba;
};
vector<Node> g[2004];
int main(){
if (fopen("nrsubsecv.in","r")){
freopen("nrsubsecv.in","r",stdin);
freopen("nrsubsecv.out","w",stdout);
}
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n,m;cin>>n>>m;
for (int i=1;i<=m;i++){
ll u,v,t,c;cin>>u>>v>>t>>c;
g[u].push_back({v,t,c});g[v].push_back({u,t,c});
}
multiset<tuple<ll,ll,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());
if (cost>dp[bd]) continue;
dp[bd]=cost;
kq[bd]=min(kq[bd],1LL*time*cost);
vs[bd]++;if (vs[bd]>2000) continue;
for (auto j:g[bd]){
// if (cost+j.ba>4000000||) continue;
st.insert({time+j.se,cost+j.ba,j.fi});
}
}
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... |