Submission #996482


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

struct Initializer {
  Initializer() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    cout << fixed << setprecision(15);
  }
} initializer;

vector<vector<pair<int, int64_t>>> mct;

int64_t dfs(int p, int s, int t) {
  if (s == t) return -1;
  int64_t res = 0;
  for (auto e : mct[s]) {
    if (e.first == p) continue;
    auto r = dfs(s, e.first, t);
    if (r == 0) continue;
    res = max(res, max(e.second, r));
  }
  return res;
}

int main() {
  int n, m, q;
  cin >> n >> m;
  vector<vector<pair<int, int64_t>>> graph(n);
  mct.resize(n);
  for (int i = 0; i < m; ++i) {
    int a, b, c;
    cin >> a >> b >> c;
    graph[a - 1].emplace_back(b - 1, c);
    graph[b - 1].emplace_back(a - 1, c);
  }
  priority_queue<tuple<int64_t, int, int>, vector<tuple<int64_t, int, int>>, greater<tuple<int64_t, int, int>>> que;
  for (auto& e : graph[0]) que.emplace(e.second, 0, e.first);
  vector<bool> used(n);
  used[0] = true;
  int64_t sum = 0;
  while (!que.empty()) {
    auto e = que.top();
    que.pop();
    if (used[get<2>(e)]) continue;
    used[get<2>(e)] = true;
    mct[get<1>(e)].emplace_back(get<2>(e), get<0>(e));
    mct[get<2>(e)].emplace_back(get<1>(e), get<0>(e));
    sum += get<0>(e);
    for (auto& d : graph[get<2>(e)]) {
      que.emplace(d.second, get<2>(e), d.first);
    }
  }
  cin >> q;
  for (int i = 0; i < q; ++i) {
    int s, t;
    cin >> s >> t;
    cout << sum - dfs(-1, s - 1, t - 1) << endl;
  }
}

Submission Info

Submission Time
Task A - Graph
User not
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1484 Byte
Status TLE
Exec Time 3156 ms
Memory 34420 KB

Judge Result

Set Name Sample subtask1 subtask2 All
Score / Max Score 0 / 0 200 / 200 300 / 300 0 / 200
Status
AC × 2
AC × 12
AC × 21
AC × 21
TLE × 8
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, 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 3 ms 256 KB
sample_2.txt AC 3 ms 256 KB
subtask_1_1.txt AC 3 ms 384 KB
subtask_1_10.txt AC 158 ms 17524 KB
subtask_1_11.txt AC 3 ms 256 KB
subtask_1_2.txt AC 33 ms 3708 KB
subtask_1_3.txt AC 335 ms 34408 KB
subtask_1_4.txt AC 6 ms 896 KB
subtask_1_5.txt AC 7 ms 1024 KB
subtask_1_6.txt AC 80 ms 9208 KB
subtask_1_7.txt AC 359 ms 34420 KB
subtask_1_8.txt AC 6 ms 896 KB
subtask_1_9.txt AC 11 ms 1408 KB
subtask_2_1.txt AC 595 ms 34408 KB
subtask_2_2.txt AC 594 ms 34416 KB
subtask_2_3.txt AC 590 ms 34420 KB
subtask_2_4.txt AC 591 ms 34416 KB
subtask_2_5.txt AC 206 ms 896 KB
subtask_2_6.txt AC 274 ms 2172 KB
subtask_2_7.txt AC 340 ms 9208 KB
subtask_2_8.txt AC 590 ms 34416 KB
subtask_3_1.txt TLE 3156 ms 34420 KB
subtask_3_2.txt TLE 3156 ms 34408 KB
subtask_3_3.txt TLE 3154 ms 1536 KB
subtask_3_4.txt TLE 3154 ms 1788 KB
subtask_3_5.txt TLE 3155 ms 17524 KB
subtask_3_6.txt TLE 3156 ms 34164 KB
subtask_3_7.txt TLE 3156 ms 34408 KB
subtask_3_8.txt TLE 3156 ms 34408 KB