| 16224 | 2025-04-14 18:07:14 | gortomi | Növekvő Ödön és a Másoló Varázsló | cpp17 | Elfogadva 100/100 | 162ms | 4404 KiB |
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
const int inf = 1e9 + 5;
int n, m;
cin >> n >> m;
vector<int> a(n + 2), b(m);
for(int i = 1; i <= n; i++) cin >> a[i];
a[n + 1] = inf;
for(int j = 0; j < m; j++) cin >> b[j];
sort(b.begin(), b.end());
vector<int> dp(n + 2);
set<array<int, 3> > s;
s.insert({0, 0});
for(int i = 1; i <= n + 1; i++)
{
int ind = lower_bound(b.begin(), b.end(), a[i]) - b.begin();
int val = ind - i + 1;
auto it = s.lower_bound({val, a[i], -inf});
if(it == s.begin())
{
dp[i] = n + 1;
continue;
}
it--;
dp[i] = (*it)[2] + i - 1;
//cout << i << " " << dp[i] << " " << val << " " << it -> first << " " << it -> second << "\n";
int ins = ind - i, ival = dp[i] - i;
while(1)
{
auto it2 = s.lower_bound({ins, a[i], -inf});
if(it2 != s.end() && (*it2)[2] >= ival) s.erase(it2);
else break;
}
s.insert({ins, a[i], ival});
}
cout << dp[n + 1] << "\n";
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 35ms | 820 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Elfogadva | 48ms | 1076 KiB | ||||
| 4 | Elfogadva | 48ms | 1076 KiB | ||||
| 5 | Elfogadva | 48ms | 1076 KiB | ||||
| subtask3 | 10/10 | ||||||
| 6 | Elfogadva | 1ms | 508 KiB | ||||
| 7 | Elfogadva | 1ms | 316 KiB | ||||
| 8 | Elfogadva | 1ms | 316 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 | 316 KiB | ||||
| 14 | Elfogadva | 3ms | 352 KiB | ||||
| 15 | Elfogadva | 3ms | 316 KiB | ||||
| subtask6 | 5/5 | ||||||
| 16 | Elfogadva | 3ms | 316 KiB | ||||
| 17 | Elfogadva | 3ms | 316 KiB | ||||
| 18 | Elfogadva | 3ms | 508 KiB | ||||
| 19 | Elfogadva | 3ms | 316 KiB | ||||
| subtask7 | 10/10 | ||||||
| 20 | Elfogadva | 4ms | 316 KiB | ||||
| 21 | Elfogadva | 4ms | 316 KiB | ||||
| 22 | Elfogadva | 4ms | 316 KiB | ||||
| 23 | Elfogadva | 3ms | 316 KiB | ||||
| 24 | Elfogadva | 4ms | 464 KiB | ||||
| subtask8 | 25/25 | ||||||
| 25 | Elfogadva | 48ms | 1472 KiB | ||||
| 26 | Elfogadva | 48ms | 1468 KiB | ||||
| 27 | Elfogadva | 48ms | 1468 KiB | ||||
| 28 | Elfogadva | 1ms | 316 KiB | ||||
| 29 | Elfogadva | 78ms | 1476 KiB | ||||
| 30 | Elfogadva | 70ms | 1476 KiB | ||||
| 31 | Elfogadva | 70ms | 1484 KiB | ||||
| 32 | Elfogadva | 71ms | 1588 KiB | ||||
| 33 | Elfogadva | 71ms | 1588 KiB | ||||
| 34 | Elfogadva | 71ms | 1488 KiB | ||||
| 35 | Elfogadva | 72ms | 1632 KiB | ||||
| 36 | Elfogadva | 70ms | 1772 KiB | ||||
| 37 | Elfogadva | 71ms | 1472 KiB | ||||
| 38 | Elfogadva | 70ms | 1588 KiB | ||||
| 39 | Elfogadva | 78ms | 1588 KiB | ||||
| 40 | Elfogadva | 57ms | 1592 KiB | ||||
| 41 | Elfogadva | 71ms | 1588 KiB | ||||
| 42 | Elfogadva | 46ms | 1844 KiB | ||||
| 43 | Elfogadva | 70ms | 1624 KiB | ||||
| 44 | Elfogadva | 68ms | 1588 KiB | ||||
| 45 | Elfogadva | 71ms | 1476 KiB | ||||
| subtask9 | 25/25 | ||||||
| 46 | Elfogadva | 138ms | 2612 KiB | ||||
| 47 | Elfogadva | 143ms | 2776 KiB | ||||
| 48 | Elfogadva | 138ms | 2612 KiB | ||||
| 49 | Elfogadva | 162ms | 2776 KiB | ||||
| 50 | Elfogadva | 162ms | 2772 KiB | ||||
| 51 | Elfogadva | 162ms | 2768 KiB | ||||
| 52 | Elfogadva | 136ms | 4404 KiB | ||||
| 53 | Elfogadva | 149ms | 3704 KiB | ||||
| 54 | Elfogadva | 150ms | 2868 KiB | ||||
| 55 | Elfogadva | 109ms | 2612 KiB | ||||