Submission #1220673

#TimeUsernameProblemLanguageResultExecution timeMemory
1220673overwatch9Bouquet (EGOI24_bouquet)C++20
16 / 100
58 ms7416 KiB
#include <bits/stdc++.h> using namespace std; bool comp(pair <int, int> a, pair <int, int> b) { return a.second < b.second; } int main() { int n; cin >> n; vector <pair <int, int>> nums(n*3); for (int i = 1; i <= n; i++) { int l, r; cin >> l >> r; nums[i].first = max(1, i - l); nums[i].second = min(n, i + r); } sort(nums.begin()+1, nums.begin() + n + 1, comp); vector <int> dp(n*3); int p = 1; for (int i = 1; i <= n; i++) { dp[i] = dp[i-1]; while (p <= n && nums[p].second == i) { dp[i] = max(dp[i], dp[nums[p].first-1] + 1); p++; } } cout << dp[n] << '\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...
#Verdict Execution timeMemoryGrader output
Fetching results...