제출 #1061455

#제출 시각아이디문제언어결과실행 시간메모리
1061455kwongwengGlobal Warming (CEOI18_glo)C++17
10 / 100
23 ms3948 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef long double ld;
typedef vector<vector<ll>> vll;
#define FOR(i, a, b) for(int i = a; i < b; i++)
#define ROF(i, a, b) for(int i = a; i >= b; i--)
#define pb push_back
#define ms memset
#define fi first
#define se second

int LIS(vi a){
    int n = a.size();
    vi dp = {a[0]};
    FOR(i,1,n){
        if (dp[dp.size()-1] < a[i]){
            dp.pb(a[i]); continue;
        }
        int pos = lower_bound(dp.begin(), dp.end(), a[i]) - dp.begin();
        dp[pos] = a[i];
    }
    return dp.size();
}
void solve(){
    int n,x; cin>>n>>x;
    vi t(n); FOR(i,0,n) cin>>t[i];
    cout<<LIS(t)<<"\n"; 
}

int main(){
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int TC = 1; //cin>>TC;
    while (TC--){
        solve();
    }
    return 0;
}

/*
0 2 4 6
4 5 1 0
4 7 5
*/
#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...