Submission #1308242

#TimeUsernameProblemLanguageResultExecution timeMemory
1308242lyra_g13Journey (NOI18_journey)C++20
0 / 100
1 ms568 KiB
#include <bits/stdc++.h> using ll = long long; using namespace std; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); ll n, maxnights, h; cin >> n >> maxnights >> h; vector<vector<ll>> dp(n, vector<ll>(maxnights)); vector<vector<pair<ll, ll>>> adj(n); for (int i = 0; i < n - 1; i++) { for (int j = 0; j < h; j++) { ll a, b; cin >> a >> b; if (a > i) adj[i].push_back({a, b}); } } dp[0][0] = 1; for (int i = 0; i < n; i++) { for (auto [x, y] : adj[i]) { for (int p = 0; p < maxnights; p++) { ll add = min(500000001LL, dp[i][p]); dp[x][p + y] = min(500000001LL, dp[x][p + y] + add); } } } ll pref = 0; for (int i = 0; i < maxnights; i++) { if (i == 0) { pref = dp[n - 1][i]; cout << dp[n - 1][i] << "\n"; } else { pref = min(500000001LL, pref + dp[n - 1][i]); cout << pref << "\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...