Submission #785201

#TimeUsernameProblemLanguageResultExecution timeMemory
785201andecaandeciGlobal Warming (CEOI18_glo)C++17
10 / 100
28 ms3432 KiB
#include <bits/stdc++.h>
#define int long long
#define fi first
#define se second
#define keish                             ios_base::sync_with_stdio(0);       cin.tie(0); cout.tie(0)
      
using namespace std;

int n, x;

signed main(){
      keish;
      cin >> n >> x;
      vector<int> a(n + 1);
      for(int i = 1; i <= n; i++) cin >> a[i];

      vector<int> dp(n + 1, 1e18);
      dp[0] = -1e18;

      int ans = 0;
      for(int i = 1; i <= n; i++){
            int j = upper_bound(dp.begin(), dp.end(), a[i]) - dp.begin();
            if(dp[j - 1] < a[i] && a[i] < dp[j]) dp[j] = a[i];
            ans = max(ans, j);
      }

      cout << ans << endl;
}     
#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...