| 16220 | 2025-04-14 17:54:57 | Error42 | Növekvő Ödön és a Másoló Varázsló | cpp17 | Időlimit túllépés 50/100 | 690ms | 2848 KiB |
#include <algorithm>
#include <cassert>
#include <iostream>
#include <variant>
#include <vector>
using namespace std;
int const INF = 2e9;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n, m;
cin >> n >> m;
vector<int> a(n);
for (int& x : a)
cin >> x;
a.insert(a.begin(), 0);
a.push_back(INF);
vector<int> b(m);
for (int& x : b)
cin >> x;
sort(b.begin(), b.end());
int lis_max_len = 0;
vector<int> lis = { 0 };
for (int j = 1; j < a.size(); j++) {
auto it = find_if_not(lis.rbegin(), lis.rend(), [&](int const& i) {
#ifdef _DEBUG
cerr << i << " " << j
<< " : " << a[i] << ">=" << a[j]
<< " | " << lower_bound(b.begin(), b.end(), a[j]) - lower_bound(b.begin(), b.end(), a[i]) + 1 << "<" << j - i << endl;
#endif
return a[i] >= a[j] // not increasing
|| lower_bound(b.begin(), b.end(), a[j]) - lower_bound(b.begin(), b.end(), a[i]) + 1 < j - i; // not enough elements to put between
});
if (it == lis.rend())
continue;
if (it == lis.rbegin())
lis.push_back(j);
else
*(it - 1) = j;
}
#ifdef _DEBUG
assert(count(lis.begin(), lis.end(), n + 1));
#endif
cout << n - (find(lis.begin(), lis.end(), n + 1) - lis.begin() - 1) << "\n";
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 508 KiB | ||||
| 2 | Időlimit túllépés | 684ms | 880 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Elfogadva | 50ms | 1076 KiB | ||||
| 4 | Elfogadva | 52ms | 1076 KiB | ||||
| 5 | Elfogadva | 50ms | 1076 KiB | ||||
| subtask3 | 10/10 | ||||||
| 6 | Elfogadva | 1ms | 316 KiB | ||||
| 7 | Elfogadva | 1ms | 316 KiB | ||||
| 8 | Elfogadva | 1ms | 508 KiB | ||||
| subtask4 | 15/15 | ||||||
| 9 | Elfogadva | 1ms | 316 KiB | ||||
| 10 | Elfogadva | 1ms | 316 KiB | ||||
| 11 | Elfogadva | 1ms | 316 KiB | ||||
| 12 | Elfogadva | 1ms | 316 KiB | ||||
| subtask5 | 5/5 | ||||||
| 13 | Elfogadva | 3ms | 444 KiB | ||||
| 14 | Elfogadva | 3ms | 316 KiB | ||||
| 15 | Elfogadva | 3ms | 576 KiB | ||||
| subtask6 | 5/5 | ||||||
| 16 | Elfogadva | 3ms | 688 KiB | ||||
| 17 | Elfogadva | 19ms | 472 KiB | ||||
| 18 | Elfogadva | 4ms | 316 KiB | ||||
| 19 | Elfogadva | 3ms | 316 KiB | ||||
| subtask7 | 10/10 | ||||||
| 20 | Elfogadva | 4ms | 508 KiB | ||||
| 21 | Elfogadva | 190ms | 512 KiB | ||||
| 22 | Elfogadva | 7ms | 500 KiB | ||||
| 23 | Elfogadva | 57ms | 460 KiB | ||||
| 24 | Elfogadva | 59ms | 316 KiB | ||||
| subtask8 | 0/25 | ||||||
| 25 | Elfogadva | 50ms | 1192 KiB | ||||
| 26 | Elfogadva | 50ms | 1196 KiB | ||||
| 27 | Elfogadva | 50ms | 1196 KiB | ||||
| 28 | Elfogadva | 1ms | 320 KiB | ||||
| 29 | Elfogadva | 185ms | 1208 KiB | ||||
| 30 | Elfogadva | 87ms | 2124 KiB | ||||
| 31 | Elfogadva | 432ms | 1960 KiB | ||||
| 32 | Időlimit túllépés | 690ms | 1448 KiB | ||||
| 33 | Időlimit túllépés | 686ms | 1284 KiB | ||||
| 34 | Időlimit túllépés | 685ms | 1220 KiB | ||||
| 35 | Időlimit túllépés | 671ms | 1192 KiB | ||||
| 36 | Elfogadva | 430ms | 1964 KiB | ||||
| 37 | Időlimit túllépés | 680ms | 1452 KiB | ||||
| 38 | Időlimit túllépés | 685ms | 1196 KiB | ||||
| 39 | Elfogadva | 177ms | 1204 KiB | ||||
| 40 | Elfogadva | 75ms | 1200 KiB | ||||
| 41 | Időlimit túllépés | 684ms | 1396 KiB | ||||
| 42 | Elfogadva | 168ms | 1380 KiB | ||||
| 43 | Elfogadva | 59ms | 1964 KiB | ||||
| 44 | Időlimit túllépés | 683ms | 1960 KiB | ||||
| 45 | Időlimit túllépés | 686ms | 1196 KiB | ||||
| subtask9 | 0/25 | ||||||
| 46 | Időlimit túllépés | 676ms | 2744 KiB | ||||
| 47 | Időlimit túllépés | 676ms | 2028 KiB | ||||
| 48 | Időlimit túllépés | 676ms | 2848 KiB | ||||
| 49 | Elfogadva | 414ms | 1988 KiB | ||||
| 50 | Elfogadva | 426ms | 1844 KiB | ||||
| 51 | Elfogadva | 407ms | 2080 KiB | ||||
| 52 | Időlimit túllépés | 679ms | 2024 KiB | ||||
| 53 | Időlimit túllépés | 680ms | 2176 KiB | ||||
| 54 | Időlimit túllépés | 676ms | 2096 KiB | ||||
| 55 | Elfogadva | 133ms | 1848 KiB | ||||