제출 #1359916

#제출 시각아이디문제언어결과실행 시간메모리
1359916PetiGlobal Warming (CEOI18_glo)C++20
17 / 100
29 ms3516 KiB
#include <bits/stdc++.h>
using namespace std;

vector<int> lis(const vector<int> &v) {
    vector<int> lis = {}, res = {};
    res.reserve(v.size());
    for(int x : v) {
        auto it = lower_bound(lis.begin(), lis.end(), x);
        if(it == lis.end()) lis.push_back(x);
        else *it = x;
        res.push_back(lis.size());
    }
    return res;
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n, d;
    cin>>n>>d;

    vector<int> v(n);
    for(int &x : v) cin>>x;

    vector<int> a = lis(v);
    reverse(v.begin(), v.end());
    for(int &x : v) x = -x;
    vector<int> b = lis(v);
    reverse(b.begin(), b.end());

    int ans = 1;
    for(int i = 0; i < n-1; i++) ans = max(ans, a[i] + b[i + 1]);

    // for(int x : a) cout << x << ' '; cout << '\n';
    // for(int x : b) cout << x << ' '; cout << '\n';

    cout << ans << '\n';

    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...
#Verdict Execution timeMemoryGrader output
Fetching results...