Submission #1214215

#TimeUsernameProblemLanguageResultExecution timeMemory
1214215BulaGlobal Warming (CEOI18_glo)C++20
0 / 100
32 ms3596 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod = 1e9 + 7, N = 2e5 + 5;
vector<int> dp;
void add(int x){
	int pos = lower_bound(dp.begin(), dp.end(), x) - dp.begin();
	if(pos == dp.size()) {
		dp.push_back(x);
	}else{
		dp[pos] = x;
	}
}

main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int n, x;
    cin >> n >> x;
    vector<int> a(n + 1);
    for(int i = 1; i <= n; i++) cin >> a[i];
    vector<int> p(n + 1);
    for(int i = 1; i <= n; i++){
        add(a[i]);
        p[i] = dp.size();
    }
    dp.clear();
    reverse(a.begin() + 1, a.end());
    int ans = 0;
    for(int i = 1; i <= n; i++){
        add(-a[i]);
        ans = max(ans, (int)dp.size() + p[n - i + 1] - 1);
    }
    cout << ans << '\n';
}


Compilation message (stderr)

glo.cpp:15:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   15 | main(){
      | ^~~~
#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...