Submission #699843

#TimeUsernameProblemLanguageResultExecution timeMemory
699843Iliya_Global Warming (CEOI18_glo)C++14
10 / 100
32 ms3948 KiB
// IN THE NAME OF GOD
#include<bits/stdc++.h>
//#pragma GCC optimize ("O2,unroll-loops,O3,Ofast,no-stack-protector,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
#define endl '\n';
#define file_reading freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);
using namespace std;
typedef long long ll;
typedef long double dll;
typedef unsigned long long ull;

const ll B = 2e5+7, inf = 1e18; 
ll arr[B];

void solve(){
	int n,x; cin >> n >> x; 
	for(int i=1; i<=n; i++){cin >> arr[i];}
	vector<ll> dp(n+1,inf);
	dp[0] = -inf; 
	dp[1] = arr[1]; 
	int ans = 1; 
	for(int i=2; i<=n; i++){
		int ind = lower_bound(dp.begin(),dp.end(),arr[i])-dp.begin(); 
		dp[ind] = arr[i];
		ans = max(ans,ind); 
	}
	cout << ans << endl;
}
 
int32_t main(){
	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
	int t; t=1;
	while(t--){solve();}
	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...