제출 #1220671

#제출 시각아이디문제언어결과실행 시간메모리
1220671overwatch9Bouquet (EGOI24_bouquet)C++20
0 / 100
44 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; if (l == 0) l--; if (r == 0) r++; nums[i].first = max(0, 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); 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...