Submission #864528

#TimeUsernameProblemLanguageResultExecution timeMemory
864528maks007Toll (BOI17_toll)C++14
0 / 100
3074 ms194208 KiB
// Bismi ALlah
#include "bits/stdc++.h"

using namespace std;

#define int long long

signed main () {
	int n, m, k, query;
	cin >> k >> n >> m >> query;
	vector<pair <int,int>> g[n];
	for(int i = 0; i < m; i ++) {
		int u, v;
		cin >> u >> v;
		int w;
		cin >> w;
		g[u].push_back({v, w});
	}
	map <pair <int,int>,int> dp;
	for(int i = 0; i < n; i ++) {
		dp[{i,i}] = 0;
		for(int j = 0; j < n; j ++) {
			if(dp.count({i, j})) {
				for(auto [u, w] : g[j]) {
					if(dp.count({i, u}) == 0) dp[{i, u}] = dp[{i, j}] + w;
					else dp[{i, u}] = min(dp[{i, u}], dp[{i, j}] + w);
				}
			}
		}
	}
	while(query --) {
		int a, b;
		cin >> a >> b;
		if(dp.count({a, b})) cout << dp[{a, b}] << "\n";
		else cout << -1 << "\n";
	}
	return 0;
}

Compilation message (stderr)

toll.cpp: In function 'int main()':
toll.cpp:24:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   24 |     for(auto [u, w] : g[j]) {
      |              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...