Submission #1159272

#TimeUsernameProblemLanguageResultExecution timeMemory
1159272brintonFinancial Report (JOI21_financial)C++20
48 / 100
4048 ms2252 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    cin.tie(0);
    ios_base::sync_with_stdio(0);
    //start here
    int N,D;
    cin >> N >> D;
    vector<int> v(N);
    for(auto &i:v)cin >> i;

    vector<int> LIS;
    for(int i = 0;i < N;i++){
        // set LIS to range min
        int mustWalk = (long long)(1e9+10);
        for(int j = max(0,i-D);j <= i-1;j++){
            mustWalk = min(mustWalk,v[j]);
        }
        for(auto &i:LIS){
            i = max(i,mustWalk);
        }
        auto it = lower_bound(LIS.begin(),LIS.end(),v[i]);
        if(it == LIS.end()){
            LIS.push_back(v[i]);
        }else{
            *it = v[i];
        }
        // for(auto i:LIS)cout << i << " ";cout << endl;
    }
    cout << LIS.size();
}
#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...