Submission #242741

#TimeUsernameProblemLanguageResultExecution timeMemory
242741SamAndFerries (NOI13_ferries)C++17
40 / 40
326 ms18164 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 = 100005; int n, m; vector<int> a[N], b[N]; 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; } bool c[N]; void solv() { scanf("%d%d", &n, &m); while (m--) { int x, y, z; scanf("%d%d%d", &x, &y, &z); a[y].push_back(x); b[x].push_back(z); } for (int x = 1; x <= n; ++x) { sort(all(b[x])); } priority_queue<ban> q; q.push(ban(n, 0)); while (1) { ban t; do { t = q.top(); q.pop(); } while (c[t.x]); c[t.x] = true; if (t.x == 1) { printf("%d\n", t.d); return; } for (int i = 0; i < a[t.x].size(); ++i) { ban h; h.x = a[t.x][i]; h.d = t.d; h.d += b[h.x].back(); b[h.x].pop_back(); q.push(h); } } } 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)

ferries.cpp: In function 'void solv()':
ferries.cpp:63:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i = 0; i < a[t.x].size(); ++i)
                         ~~^~~~~~~~~~~~~~~
ferries.cpp:35:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &m);
     ~~~~~^~~~~~~~~~~~~~~~
ferries.cpp:39: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);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...