Submission #242749

#TimeUsernameProblemLanguageResultExecution timeMemory
242749SamAndSightseeing (NOI14_sightseeing)C++17
15 / 25
3563 ms183216 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; 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<ban> q[N]; void prr() { int j = N - 1; q[N - 1].push_back(ban(1, N - 1)); while (1) { ban t; do { if (j == -1) return; if (q[j].empty()) { --j; continue; } t = q[j].back(); q[j].pop_back(); } while (c[t.x]); c[t.x] = true; ans[t.x] = t.d; for (int i = 0; i < a[t.x].size(); ++i) { ban h = a[t.x][i]; h.d = min(h.d, t.d); q[h.d].push_back(h); } } } void solv() { int qq; scanf("%d%d%d", &n, &m, &qq); for (int i = 0; i < m; ++i) { int x, y, z; scanf("%d%d%d", &x, &y, &z); a[x].push_back(ban(y, z)); a[y].push_back(ban(x, z)); } prr(); while (qq--) { int x; scanf("%d", &x); 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){}

Compilation message (stderr)

sightseeing.cpp: In function 'void prr()':
sightseeing.cpp:57:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i = 0; i < a[t.x].size(); ++i)
                         ~~^~~~~~~~~~~~~~~
sightseeing.cpp: In function 'void solv()':
sightseeing.cpp:69:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d", &n, &m, &qq);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
sightseeing.cpp:73:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d%d", &x, &y, &z);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
sightseeing.cpp:81:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &x);
         ~~~~~^~~~~~~~~~
sightseeing.cpp: In function 'void prr()':
sightseeing.cpp:42:13: warning: 't.ban::d' may be used uninitialized in this function [-Wmaybe-uninitialized]
         ban t;
             ^
sightseeing.cpp:54:23: warning: 't.ban::x' may be used uninitialized in this function [-Wmaybe-uninitialized]
         } while (c[t.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...