Submission #763336

#TimeUsernameProblemLanguageResultExecution timeMemory
763336giaminh2211Financial Report (JOI21_financial)C++14
0 / 100
4046 ms5560 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int maxImpressionScore(const vector<int>& sales, int D) {
    int N = sales.size();
    vector<int> dp(N, 0); // Mảng dp để lưu trữ điểm ấn tượng tối đa cho mỗi ngày

    dp[0] = 1; // Điểm ấn tượng của ngày đầu tiên là 1

    for (int i = 1; i < N; i++) {
        dp[i] = 1; // Điểm ấn tượng tối thiểu là 1

        for (int j = 0; j < i; j++) {
            // Kiểm tra điều kiện khoảng cách giữa các ngày không quá D
            if (i - j <= D) {
                // Tìm điểm ấn tượng lớn nhất từ các ngày trước đó
                dp[i] = max(dp[i], dp[j] + 1);
            }
        }
    }

    // Tìm điểm ấn tượng tối đa trong mảng dp
    int maxScore = *max_element(dp.begin(), dp.end());
    return maxScore;
}

int main() {
    int N, D;
    cin >> N >> D;

    vector<int> sales(N);
    for (int i = 0; i < N; i++) {
        cin >> sales[i];
    }

    int maxScore = maxImpressionScore(sales, D);
    cout << maxScore << 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...
#Verdict Execution timeMemoryGrader output
Fetching results...