| 16218 | 2025-04-14 17:28:41 | Error42 | Növekvő Ödön és a Másoló Varázsló | cpp17 | Wrong answer 20/100 | 374ms | 2688 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 const it = upper_bound(lis.begin(), lis.end(), monostate(), [&](monostate _, int const& i) {
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.begin())
continue;
if (it == lis.end())
lis.push_back(j);
else
*it = 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";
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Wrong answer | 64ms | 820 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Accepted | 48ms | 1076 KiB | ||||
| 4 | Accepted | 48ms | 1076 KiB | ||||
| 5 | Accepted | 48ms | 1076 KiB | ||||
| subtask3 | 10/10 | ||||||
| 6 | Accepted | 1ms | 316 KiB | ||||
| 7 | Accepted | 1ms | 316 KiB | ||||
| 8 | Accepted | 1ms | 316 KiB | ||||
| subtask4 | 0/15 | ||||||
| 9 | Wrong answer | 1ms | 316 KiB | ||||
| 10 | Wrong answer | 1ms | 316 KiB | ||||
| 11 | Wrong answer | 1ms | 316 KiB | ||||
| 12 | Accepted | 1ms | 316 KiB | ||||
| subtask5 | 5/5 | ||||||
| 13 | Accepted | 3ms | 316 KiB | ||||
| 14 | Accepted | 3ms | 316 KiB | ||||
| 15 | Accepted | 3ms | 316 KiB | ||||
| subtask6 | 0/5 | ||||||
| 16 | Accepted | 3ms | 508 KiB | ||||
| 17 | Wrong answer | 3ms | 500 KiB | ||||
| 18 | Wrong answer | 3ms | 316 KiB | ||||
| 19 | Accepted | 3ms | 316 KiB | ||||
| subtask7 | 0/10 | ||||||
| 20 | Wrong answer | 4ms | 468 KiB | ||||
| 21 | Wrong answer | 6ms | 316 KiB | ||||
| 22 | Accepted | 4ms | 316 KiB | ||||
| 23 | Wrong answer | 4ms | 316 KiB | ||||
| 24 | Wrong answer | 7ms | 480 KiB | ||||
| subtask8 | 0/25 | ||||||
| 25 | Accepted | 46ms | 1204 KiB | ||||
| 26 | Accepted | 46ms | 1208 KiB | ||||
| 27 | Accepted | 46ms | 1204 KiB | ||||
| 28 | Accepted | 1ms | 316 KiB | ||||
| 29 | Accepted | 123ms | 1204 KiB | ||||
| 30 | Wrong answer | 150ms | 1196 KiB | ||||
| 31 | Wrong answer | 136ms | 1200 KiB | ||||
| 32 | Wrong answer | 141ms | 1200 KiB | ||||
| 33 | Wrong answer | 159ms | 1196 KiB | ||||
| 34 | Wrong answer | 136ms | 1212 KiB | ||||
| 35 | Wrong answer | 163ms | 1196 KiB | ||||
| 36 | Wrong answer | 138ms | 1216 KiB | ||||
| 37 | Wrong answer | 150ms | 1196 KiB | ||||
| 38 | Wrong answer | 150ms | 1208 KiB | ||||
| 39 | Accepted | 116ms | 1200 KiB | ||||
| 40 | Accepted | 72ms | 1220 KiB | ||||
| 41 | Wrong answer | 159ms | 1200 KiB | ||||
| 42 | Wrong answer | 98ms | 1236 KiB | ||||
| 43 | Wrong answer | 122ms | 1196 KiB | ||||
| 44 | Wrong answer | 150ms | 1204 KiB | ||||
| 45 | Wrong answer | 127ms | 1196 KiB | ||||
| subtask9 | 0/25 | ||||||
| 46 | Wrong answer | 284ms | 2084 KiB | ||||
| 47 | Wrong answer | 328ms | 2008 KiB | ||||
| 48 | Wrong answer | 254ms | 1988 KiB | ||||
| 49 | Accepted | 252ms | 2004 KiB | ||||
| 50 | Accepted | 261ms | 1844 KiB | ||||
| 51 | Wrong answer | 254ms | 1844 KiB | ||||
| 52 | Wrong answer | 338ms | 2536 KiB | ||||
| 53 | Wrong answer | 374ms | 2688 KiB | ||||
| 54 | Wrong answer | 363ms | 1972 KiB | ||||
| 55 | Accepted | 130ms | 1972 KiB | ||||