제출 #242752

#제출 시각아이디문제언어결과실행 시간메모리
242752SamAnd관광 (NOI14_sightseeing)C++17
15 / 25
3584 ms186644 KiB
#include <bits/stdc++.h> using namespace std; #define m_p make_pair #define all(x) (x).begin(),(x).end() #define sz(x) ((int)(x).size()) #define fi first #define se second typedef long long ll; mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count()); mt19937 rnf(2106); const int N = 500005; int ka() { int x = 0; while (1) { char y = getchar(); if ('0' <= y && y <= '9') x = (x * 10) + (y - '0'); else return x; } } struct ban { int x, d; ban(){} ban(int x, int d) { this->x = x; this->d = d; } }; bool operator<(const ban& a, const ban& b) { return a.d < b.d; } int n, m; vector<ban> a[N]; bool c[N]; int ans[N]; vector<int> q[N]; void prr() { int j = N - 1; q[N - 1].push_back(1); while (1) { int x; do { if (j == -1) return; if (q[j].empty()) { --j; continue; } x = q[j].back(); q[j].pop_back(); } while (c[x]); c[x] = true; ans[x] = j; for (int i = 0; i < a[x].size(); ++i) { int h = a[x][i].x; int u = min(a[x][i].d, j); if (!c[h] && u <= j) q[u].push_back(h); } } } void solv() { int qq; n = ka(); m = ka(); qq = ka(); for (int i = 0; i < m; ++i) { int x, y, z; x = ka(); y = ka(); z = ka(); a[x].push_back(ban(y, z)); a[y].push_back(ban(x, z)); } prr(); while (qq--) { int x; x = ka(); printf("%d\n", ans[x]); } } int main() { #ifdef SOMETHING freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); #endif // SOMETHING //ios_base::sync_with_stdio(false), cin.tie(0); solv(); return 0; } //while ((double)clock() / CLOCKS_PER_SEC <= 0.9){}

컴파일 시 표준 에러 (stderr) 메시지

sightseeing.cpp: In function 'void prr()':
sightseeing.cpp:70:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i = 0; i < a[x].size(); ++i)
                         ~~^~~~~~~~~~~~~
sightseeing.cpp:67:21: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
         } while (c[x]);
                  ~~~^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...