제출 #1167336

#제출 시각아이디문제언어결과실행 시간메모리
1167336uranhishigBouquet (EGOI24_bouquet)C++17
46 / 100
38 ms5084 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define all(a) (a).begin(),(a).end() #define rep(i, n) for(int i = 0; i < (n); i++) #define rep1(i, n) for(int i = 1; i <= (n); i++) const int mx = 2e5 + 9; signed main(){ int n; cin >> n; vector<int> l(n); vector<int> r(n); for (int i = 0; i < n; i++) { cin >> l[i] >> r[i]; } int dp[n + 1]; for (int i = 0; i <= n; i++) { dp[i] = 1; } int ans = 0; if (n <= 1000) { for (int i = 1; i < n; i++) { for (int j = 0; j < i - l[i]; j++) { if (r[j] < i - j) { dp[i] = max(dp[i], dp[j] + 1); } } ans = max(dp[i], ans); } cout << ans; return 0; } for (int i = 1; i < n; i++) { for (int j = max(0ll, i - l[i] - 10) ; j < i - l[i]; j++) { if (r[j] < i - j) { dp[i] = max(dp[i], dp[j] + 1); } } ans = max(dp[i], ans); } cout << ans << endl; 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...