제출 #1320910

#제출 시각아이디문제언어결과실행 시간메모리
1320910kawhietJakarta Skyscrapers (APIO15_skyscraper)C++20
0 / 100
0 ms424 KiB
#include <bits/stdc++.h> using namespace std; constexpr int inf = 1e9; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector<int> b(m), p(m); for (int i = 0; i < m; i++) { cin >> b[i] >> p[i]; } vector<vector<array<int, 2>>> g(n); for (int i = 0; i < m; i++) { for (int j = 0; j < m; j++) { if (i == j) continue; int x = abs(b[i] - b[j]); if (x % p[i] == 0) { g[i].push_back({j, x / p[i]}); } } } vector<int> d(n, inf); priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q; q.push({0, 0}); while (!q.empty()) { auto [dist, u] = q.top(); q.pop(); if (d[u] < dist) continue; d[u] = dist; for (auto [v, w] : g[u]) { if (dist + w < d[v]) { d[v] = dist + w; q.push({d[v], v}); } } } cout << d[1] << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...