Submission #3314185
Source Code Expand
#include "bits/stdc++.h" using namespace std; typedef long long ll; typedef pair<int,int> P; constexpr double EPS = 1e-12; constexpr int INF = numeric_limits<int>::max()/2; constexpr int MOD = 1e9+7; struct Edge{ int from, to; ll cost; Edge(int from,int to,ll cost): from(from),to(to), cost(cost){} }; typedef vector<Edge> Edges; typedef vector<Edges> Graph; bool operator < (const Edge &e, const Edge &f){ return e.cost > f.cost; } struct UF { vector<int> data; UF(int size) : data(size, -1) { } bool unite(int x, int y) { x = root(x); y = root(y); if (x != y) { if (data[y] < data[x]) swap(x, y); data[x] += data[y]; data[y] = x; } return x != y; } bool find(int x, int y) { return root(x) == root(y); } int root(int x) { return data[x] < 0 ? x : data[x] = root(data[x]); } int size(int x) { return -data[root(x)]; } }; int main(){ cin.tie(0); ios::sync_with_stdio(false); int n,m;cin>>n>>m; Graph g(n); priority_queue<Edge> pq; for(int i=0;i<m;i++){ int a,b;cin>>a>>b;a--;b--; ll c;cin>>c; pq.push(Edge(a,b,c)); g[a].push_back(Edge(a,b,c)); g[b].push_back(Edge(b,a,c)); } ll sum=0; UF uf(n); Graph mst(n); while(!pq.empty()){ Edge e=pq.top();pq.pop(); if(uf.find(e.from,e.to)) continue; uf.unite(e.from,e.to); mst[e.from].push_back(Edge(e.from,e.to,e.cost)); mst[e.to].push_back(Edge(e.to,e.from,e.cost)); sum += e.cost; } vector<vector<ll>> dis(n,vector<ll>(n,-1)); for(int i=0;i<n;i++){ queue<int> q; dis[i][i]=0; q.push(i); while(!q.empty()){ int v=q.front();q.pop(); for(int j=0;j<(int)mst[v].size();j++){ int next=mst[v][j].to; if(dis[i][next]!=-1) continue; dis[i][next]=max(dis[i][v], mst[v][j].cost); q.push(next); } } } int q;cin>>q; for(int i=0;i<q;i++){ int s,t;cin>>s>>t;s--;t--; cout<<sum-dis[s][t]<<endl; } }
Submission Info
Submission Time | |
---|---|
Task | A - Graph |
User | zaki_ |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 2113 Byte |
Status | AC |
Exec Time | 984 ms |
Memory | 152808 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 | 675 ms | 138476 KB |
subtask_1_11.txt | AC | 1 ms | 256 KB |
subtask_1_2.txt | AC | 591 ms | 128372 KB |
subtask_1_3.txt | AC | 775 ms | 149480 KB |
subtask_1_4.txt | AC | 535 ms | 126080 KB |
subtask_1_5.txt | AC | 555 ms | 126208 KB |
subtask_1_6.txt | AC | 615 ms | 131824 KB |
subtask_1_7.txt | AC | 768 ms | 152808 KB |
subtask_1_8.txt | AC | 535 ms | 126080 KB |
subtask_1_9.txt | AC | 570 ms | 126460 KB |
subtask_2_1.txt | AC | 780 ms | 150376 KB |
subtask_2_2.txt | AC | 775 ms | 149736 KB |
subtask_2_3.txt | AC | 783 ms | 151144 KB |
subtask_2_4.txt | AC | 781 ms | 151016 KB |
subtask_2_5.txt | AC | 538 ms | 126208 KB |
subtask_2_6.txt | AC | 585 ms | 127096 KB |
subtask_2_7.txt | AC | 611 ms | 133872 KB |
subtask_2_8.txt | AC | 780 ms | 150504 KB |
subtask_3_1.txt | AC | 948 ms | 151016 KB |
subtask_3_2.txt | AC | 964 ms | 152040 KB |
subtask_3_3.txt | AC | 717 ms | 127488 KB |
subtask_3_4.txt | AC | 746 ms | 127740 KB |
subtask_3_5.txt | AC | 855 ms | 138732 KB |
subtask_3_6.txt | AC | 911 ms | 150120 KB |
subtask_3_7.txt | AC | 984 ms | 152168 KB |
subtask_3_8.txt | AC | 965 ms | 151784 KB |