ll M, N, K;
vector<ll> lis;
vector<ll> v;
ll ans = 0;
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> K;
v.push_back(K);
}
lis.push_back(-INF);
for (int i = 0; i < N; i++)
{
if (lis.back() < v[i])
{
lis.push_back(v[i]);
ans++;
}
else
{
auto it = lower_bound(lis.begin(), lis.end(), v[i]);
*it = v[i];
}
}
'알고리즘 > 알고리즘 이론, 템플릿' 카테고리의 다른 글
이분매칭 (0) | 2023.06.02 |
---|---|
MST - Kruskal (0) | 2023.04.03 |
c++ 문자열 slicing 및 파싱 (0) | 2023.03.14 |
shift 연산과 오버플로우 (0) | 2023.03.06 |
에라토스테네스의체 (0) | 2023.01.25 |