Submission #2889501
Source Code Expand
#include <iostream> #include <vector> #include <queue> #include <algorithm> using namespace std; int root[4000]; int getRoot(int v){ return root[v] == -1 ? v : root[v] = getRoot(root[v]); } vector<vector<long long>> solve(int N, const vector<pair<int, pair<int,int>>>& edge){ fill(root, root+N, -1); vector<vector<pair<int,int>>> g(N); long long sum = 0; for(auto& e : edge){ int src = e.second.first; int dst = e.second.second; int p = getRoot(src); int q = getRoot(dst); if(p != q){ sum += e.first; root[q] = p; g[src].emplace_back(dst, e.first); g[dst].emplace_back(src, e.first); } } vector<vector<long long>> res(N, vector<long long>(N, -1)); for(int i=0;i<N;i++){ res[i][i] = 0; queue<int> qu; qu.push(i); while(!qu.empty()){ int pos = qu.front(); qu.pop(); for(auto& e : g[pos]){ int dst = e.first; if(res[i][dst] >= 0) continue; res[i][dst] = max<long long>(res[i][pos], e.second); qu.push(dst); } } } for(auto& v : res){ for(auto& t : v) t = sum - t; } return res; } int main(){ int N, M; while(cin >> N >> M){ vector<pair<int, pair<int, int>>> edge(M); for(auto& p : edge){ cin >> p.second.first >> p.second.second >> p.first; --p.second.first; --p.second.second; } sort(edge.begin(), edge.end()); auto res = solve(N, edge); int Q; cin >> Q; for(int i=0;i<Q;i++){ int s, t; cin >> s >> t; cout << res[s-1][t-1] << endl; } } }
Submission Info
Submission Time | |
---|---|
Task | A - Graph |
User | pes |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1508 Byte |
Status | AC |
Exec Time | 1076 ms |
Memory | 131584 KB |
Judge Result
Set Name | Sample | subtask1 | subtask2 | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 200 / 200 | 300 / 300 | 200 / 200 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_1.txt, sample_2.txt |
subtask1 | sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
subtask2 | sample_1.txt, sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt |
All | sample_1.txt, sample_2.txt, sample_1.txt, sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_1.txt | AC | 1 ms | 256 KB |
sample_2.txt | AC | 1 ms | 256 KB |
subtask_1_1.txt | AC | 2 ms | 384 KB |
subtask_1_10.txt | AC | 648 ms | 128000 KB |
subtask_1_11.txt | AC | 1 ms | 256 KB |
subtask_1_2.txt | AC | 495 ms | 126208 KB |
subtask_1_3.txt | AC | 840 ms | 130432 KB |
subtask_1_4.txt | AC | 461 ms | 125696 KB |
subtask_1_5.txt | AC | 469 ms | 125696 KB |
subtask_1_6.txt | AC | 552 ms | 126848 KB |
subtask_1_7.txt | AC | 833 ms | 130432 KB |
subtask_1_8.txt | AC | 441 ms | 125696 KB |
subtask_1_9.txt | AC | 472 ms | 125824 KB |
subtask_2_1.txt | AC | 847 ms | 130432 KB |
subtask_2_2.txt | AC | 842 ms | 130432 KB |
subtask_2_3.txt | AC | 844 ms | 130432 KB |
subtask_2_4.txt | AC | 842 ms | 130432 KB |
subtask_2_5.txt | AC | 448 ms | 125824 KB |
subtask_2_6.txt | AC | 481 ms | 125952 KB |
subtask_2_7.txt | AC | 559 ms | 126848 KB |
subtask_2_8.txt | AC | 842 ms | 130432 KB |
subtask_3_1.txt | AC | 1051 ms | 131584 KB |
subtask_3_2.txt | AC | 1058 ms | 131584 KB |
subtask_3_3.txt | AC | 660 ms | 127104 KB |
subtask_3_4.txt | AC | 697 ms | 127104 KB |
subtask_3_5.txt | AC | 862 ms | 129152 KB |
subtask_3_6.txt | AC | 963 ms | 130432 KB |
subtask_3_7.txt | AC | 1069 ms | 131584 KB |
subtask_3_8.txt | AC | 1076 ms | 131584 KB |