Submission #1296671

#TimeUsernameProblemLanguageResultExecution timeMemory
1296671kawhietBouquet (EGOI24_bouquet)C++20
70 / 100
88 ms2788 KiB
#include <bits/stdc++.h> using namespace std; #ifdef LOCAL #include "debug.h" #else #define dbg(...) 42 #endif int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector<int> l(n), r(n); int mx = 0; for (int i = 0; i < n; i++) { int x, y; cin >> x >> y; mx = max(mx, x); mx = max(mx, y); l[i] = max(i - x, 0); r[i] = min(i + y, n - 1); } vector<int> dp(n, 1); for (int i = 0; i < n; i++) { int N = n; if (mx <= 2) { N = min(N, r[i] + 100); } for (int j = r[i] + 1; j < N; j++) { if (i < l[j]) { dp[j] = max(dp[j], dp[i] + 1); if (n > 2000 && mx > 2) { break; } } } } cout << *max_element(dp.begin(), dp.end()) << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...