Submission #1370418

#TimeUsernameProblemLanguageResultExecution timeMemory
1370418rawan__khaled09Bouquet (EGOI24_bouquet)C++20
28 / 100
3094 ms2628 KiB
// rawaann
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    cin >> n;

    vector<int> dp(n + 1, 1);
    vector<int> leftLimit(n + 1);
    vector<int> rightLimit(n + 1);

    for (int i = 1; i <= n; i++) {
        cin >> leftLimit[i] >> rightLimit[i];
    }

    int answer = 1;

    for (int i = 1; i <= n; i++) {

        for (int j = 1; j < i; j++) {

            if (j + rightLimit[j] < i && i - leftLimit[i] > j) {
                dp[i] = max(dp[i], dp[j] + 1);
            }
        }

        answer = max(answer, dp[i]);
    }

    cout << answer << '\n'; // rawaann

    return 0;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...