답안 #1000225

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1000225 2024-06-17T06:44:24 Z ALTAKEXE 은하철도 (APIO24_train) C++17
0 / 100
43 ms 10836 KB
#include <bits/stdc++.h>
#define ll long long
using namespace std;
vector<array<int, 4>> adj[20005];
ll dist[20005];
long long solve(int n, int m, int w, std::vector<int> T, std::vector<int> X, std::vector<int> Y,
                std::vector<int> A, std::vector<int> B, std::vector<int> C, std::vector<int> L,
                std::vector<int> R)
{
  for (int i = 0; i < n; i++)
    adj[i].clear();
  for (int i = 0; i < m; i++)
    adj[X[i]].push_back({A[i], B[i], Y[i], C[i]});
  for (int i = 0; i < n; i++)
    sort(adj[i].begin(), adj[i].end());
  dist[0] = 0;
  for (int i = 1; i < n; i++)
    dist[i] = INT_MAX;
  priority_queue<array<ll, 3>, vector<array<ll, 3>>, greater<array<ll, 3>>> pq;
  pq.push({0, 0, 0});
  while (pq.size())
  {
    auto [cost, tim, node] = pq.top();
    pq.pop();
    if (cost > dist[node])
      continue;
    dist[node] = cost;
    for (auto [l, r, y, c] : adj[node])
      if (l >= tim && cost + c < dist[y])
        pq.push({cost + c, r, y});
  }
  return (dist[n - 1] == INT_MAX ? -1 : dist[n - 1]);
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 856 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 39 ms 7720 KB Correct.
2 Runtime error 43 ms 10836 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 39 ms 7720 KB Correct.
2 Runtime error 43 ms 10836 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 856 KB Wrong Answer.
2 Halted 0 ms 0 KB -