Submission #9769

#TimeUsernameProblemLanguageResultExecution timeMemory
9769levant916Your life (kriii2_Y)C++98
4 / 4
196 ms5144 KiB
#include <iostream> #include <string> #include <cstdio> #include <algorithm> #include <vector> #include <utility> using namespace std; int dp[100001]; int M, N; typedef pair<int, int> PAIR; bool cmp(PAIR x, PAIR y) { if (x.first < y.first){ return true; } else if (x.first == y.first) { return x.second < y.second; } else { return false; } } int main(void) { int x, y; vector<PAIR> edge; cin >> N >> M; for (int i = 0; i < M; i++) { cin >> x >> y; edge.push_back(PAIR(x, y)); } sort(edge.begin(), edge.end()); for (vector<PAIR>::iterator itor = edge.begin(); itor != edge.end(); itor++) { x = itor->first; y = itor->second; if (x != 1 && dp[x] == 0) continue; if (dp[y] == 0 || dp[y] > dp[x] + 1) { dp[y] = dp[x] + 1; } } if (dp[N] == 0) cout << -1 << endl; else cout << dp[N] << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...