This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include <iomanip>
using namespace std;
#define int long long
#define pii pair<int,int>
#define ff first
#define ss second
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
const int up=1e6+7;
const int mod=1e9+7;
const int inf=1e9;
int binpow(int a,int b)
{
int res=1;
while(b)
{
if(b&1)
{
res=(res*a)%mod;
}
a=(a*a)%mod;
b/=2;
}
return res;
}
int inv(int x)
{
int res=binpow(x,mod-2);
return res;
}
const int N=77;
vector <vector <int>> adj(N,vector <int> (N,inf));
void solve()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
adj[i][i]=0;
}
for(int i=0;i<m;i++)
{
int u,v,e;
cin>>u>>v>>e;
adj[u][v]=min(adj[u][v],e);
}
//cout << adj[1][3] << "\n";
int k,q;
cin>>k>>q;
k=min(k,n);
k--;
auto ans=adj;
//cout << ans[1][4] << "\n";
while(k--)
{
auto temp=ans;
for(int x=1;x<=n;x++)
{
for(int y=1;y<=n;y++)
{
for(int z=1;z<=n;z++)
{
temp[x][y]=min(temp[x][y],ans[x][z]+adj[z][y]);
//cout << temp[x][y] << " " << x << " " << y << "\n
}
}
}
ans=temp;
//cout << temp[1][4] << "\n";
}
//cout << ans[1][4] << "\n";
//cout << ans[1][4] << "\n";
while(q--)
{
int u,v;
cin>>u>>v;
if(ans[u][v]>=inf)
{
cout << -1 << "\n";
}
else
{
cout << ans[u][v] << "\n";
}
}
}
signed main(){
//fast
clock_t start, end;
start = clock();
solve();
end = clock();
double time_taken=double(end-start)/double(CLOCKS_PER_SEC);
//cout << "time taken" << " " << time_taken << "\n";
}
Compilation message (stderr)
Main.cpp: In function 'int main()':
Main.cpp:93:9: warning: unused variable 'time_taken' [-Wunused-variable]
93 | double time_taken=double(end-start)/double(CLOCKS_PER_SEC);
| ^~~~~~~~~~
# | 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... |