#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define FOR(i, l, r) for (int i = (l); i <= (r); i++)
#define FOD(i, r, l) for (int i = (r); i >= (l); i--)
#define fi first
#define se second
#define pii pair<int, int>
const ll mod = 1e9 + 7;
const ll MAXN = 2e5 + 5;
const int oo = 1e18;
const int base = 320;
int n, m, s, t, l, k, f[2][MAXN];
vector<pii> adj[MAXN];
void dijsktra(int ty, int a){
priority_queue<pii, vector<pii>, greater<pii>> q;
FOR(i, 1, n){
f[ty][i]=oo;
}
f[ty][a]=0;
q.push({0, a});
while(q.size()){
auto [c, u]=q.top();
q.pop();
if(c>f[ty][u]) continue;
for(auto [v, w]:adj[u]){
if(f[ty][v]>f[ty][u]+w){
f[ty][v]=f[ty][u]+w;
q.push({f[ty][v], v});
}
}
}
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
if (fopen(".INP", "r"))
{
freopen(".INP", "r", stdin);
freopen(".OUT", "w", stdout);
}
cin >> n >> m >> s >> t >> l >> k;
FOR(i, 1, m){
int u, v, c;
cin >> u >> v >> c;
adj[u].push_back({v, c});
adj[v].push_back({u, c});
}
dijsktra(0, s);
dijsktra(1, t);
int dem=0;
FOR(i, 1, n){
FOR(j, i+1, n){
if(f[0][i]+f[1][j]+l<=k || f[0][j]+f[1][i]+l<=k){
// cout << i << ' ' << j << '\n';
dem++;
}
else if(f[0][t]<=k){
dem++;
}
}
}
// cout << f[1][3] << ' ';
cout << dem;
return 0;
}
Compilation message (stderr)
Main.cpp: In function 'int main()':
Main.cpp:47:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
47 | freopen(".INP", "r", stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~
Main.cpp:48:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
48 | freopen(".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... |