# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1238674 | Jer | Bouquet (EGOI24_bouquet) | C++20 | 3096 ms | 15172 KiB |
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 5;
int l[MAXN], r[MAXN];
int n;
int dp[MAXN];
int solve(int i)
{
if (i < 0)
return 0;
if (i == 0)
return 1;
if (dp[i] != -1)
return dp[i];
int res = solve(i - 1);
for (int j = i - l[i] - 1; j >= 0; j--)
if (j + r[j] < i)
res = max(res, 1 + solve(j));
return dp[i] = res;
}
int main()
{
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d%d", &l[i], &r[i]);
fill(dp, dp + n, -1);
printf("%d\n", solve(n - 1));
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |