Submission #2333020
Source Code Expand
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int inf = (1<<28);
bool _dfs(vector<vector<int> > &g, int n, int m, int u, vector<int> &X, vector<int> &Y, vector<int> &used) {
if(used[u]) return false;
used[u] = true;
for (int k=0; k<g[u].size(); k++) {
int v = g[u][k] - n;
if(Y[v] == -1) { X[u] = v; Y[v] = u; return true; }
else if(_dfs(g, n, m, Y[v], X, Y, used)) { X[u] = v; Y[v] = u; return true; }
}
return false;
}
int bipartite_matching(vector<vector<int> > &g, int n, int m) {
vector<int> X(n, -1), Y(m, -1);
for (int i=0; i<n; i++) {
vector<int> used(n, false);
_dfs(g, n, m, i, X, Y, used);
}
return n - count(X.begin(), X.end(), -1);
}
int main() {
int n, m, kn, qn;
cin >> n >> m;
int g[n][n];
for (int i=0; i<n; i++) for (int j=0; j<n; j++) g[i][j] = inf;
for (int i=0; i<n; i++) g[i][i] = 0;
for (int i=0; i<m; i++) {
int u, v, w;
cin >> u >> v >> w;
u--; v--;
g[u][v] = g[v][u] = w;
}
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
for (int k=0; k<n; k++)
g[i][j] = min(g[i][j], g[i][k] + g[k][j]);
cin >> kn;
vector<int> k(kn);
for (int i=0; i<kn; i++) { cin >> k[i]; k[i]--; }
cin >> qn;
vector<int> q(qn);
for (int i=0; i<qn; i++) { cin >> q[i]; q[i]--; }
int ll=0, rr=inf;
for (int _=0; _<50; _++) {
int w = (ll+rr)/2, t = 0;
vector<vector<int> > bg(k.size()-1+q.size(), vector<int>());
for (int i=0; i<k.size()-1; i++) {
if (g[k[i]][k[i+1]] <= w) continue;
t++;
for (int j=0; j<q.size(); j++) {
if (g[q[j]][k[i+1]] <= w) {
bg[i].push_back(j+k.size()-1);
bg[j+k.size()-1].push_back(i);
}
}
}
if (bipartite_matching(bg, k.size()-1, q.size()) == t)
rr = w;
else
ll = w;
}
cout << rr << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | H - Maxmin Tour |
| User | suminos |
| Language | C++14 (GCC 5.4.1) |
| Score | 0 |
| Code Size | 1943 Byte |
| Status | WA |
| Exec Time | 79 ms |
| Memory | 640 KiB |
Judge Result
| Set Name | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 100 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | s1.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, s1.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 1 ms | 256 KiB |
| 02.txt | WA | 1 ms | 256 KiB |
| 03.txt | AC | 35 ms | 512 KiB |
| 04.txt | WA | 7 ms | 256 KiB |
| 05.txt | AC | 17 ms | 384 KiB |
| 06.txt | WA | 37 ms | 512 KiB |
| 07.txt | WA | 13 ms | 384 KiB |
| 08.txt | AC | 9 ms | 384 KiB |
| 09.txt | AC | 55 ms | 640 KiB |
| 10.txt | WA | 2 ms | 256 KiB |
| 11.txt | AC | 26 ms | 384 KiB |
| 12.txt | AC | 13 ms | 384 KiB |
| 13.txt | AC | 3 ms | 256 KiB |
| 14.txt | WA | 2 ms | 256 KiB |
| 15.txt | AC | 11 ms | 384 KiB |
| 16.txt | WA | 1 ms | 256 KiB |
| 17.txt | AC | 1 ms | 256 KiB |
| 18.txt | WA | 5 ms | 256 KiB |
| 19.txt | WA | 5 ms | 256 KiB |
| 20.txt | AC | 46 ms | 512 KiB |
| 21.txt | AC | 4 ms | 256 KiB |
| 22.txt | AC | 34 ms | 512 KiB |
| 23.txt | WA | 1 ms | 256 KiB |
| 24.txt | AC | 33 ms | 512 KiB |
| 25.txt | WA | 4 ms | 256 KiB |
| 26.txt | AC | 46 ms | 640 KiB |
| 27.txt | WA | 39 ms | 512 KiB |
| 28.txt | WA | 6 ms | 256 KiB |
| 29.txt | AC | 18 ms | 384 KiB |
| 30.txt | AC | 25 ms | 384 KiB |
| 31.txt | WA | 3 ms | 256 KiB |
| 32.txt | AC | 6 ms | 256 KiB |
| 33.txt | WA | 1 ms | 256 KiB |
| 34.txt | WA | 11 ms | 384 KiB |
| 35.txt | AC | 17 ms | 384 KiB |
| 36.txt | AC | 5 ms | 256 KiB |
| 37.txt | AC | 57 ms | 640 KiB |
| 38.txt | WA | 10 ms | 256 KiB |
| 39.txt | AC | 15 ms | 384 KiB |
| 40.txt | WA | 3 ms | 256 KiB |
| 41.txt | AC | 6 ms | 256 KiB |
| 42.txt | AC | 2 ms | 256 KiB |
| 43.txt | WA | 4 ms | 256 KiB |
| 44.txt | WA | 46 ms | 512 KiB |
| 45.txt | WA | 3 ms | 256 KiB |
| 46.txt | AC | 1 ms | 256 KiB |
| 47.txt | AC | 37 ms | 512 KiB |
| 48.txt | AC | 34 ms | 384 KiB |
| 49.txt | AC | 37 ms | 512 KiB |
| 50.txt | AC | 47 ms | 512 KiB |
| 51.txt | WA | 79 ms | 640 KiB |
| 52.txt | AC | 19 ms | 384 KiB |
| 53.txt | AC | 5 ms | 256 KiB |
| 54.txt | WA | 12 ms | 384 KiB |
| 55.txt | WA | 22 ms | 384 KiB |
| s1.txt | AC | 1 ms | 256 KiB |