| 16224 | 2025-04-14 18:07:14 | gortomi | Növekvő Ödön és a Másoló Varázsló | cpp17 | Accepted 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";
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 35ms | 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 | 508 KiB | ||||
| 7 | Accepted | 1ms | 316 KiB | ||||
| 8 | Accepted | 1ms | 316 KiB | ||||
| subtask4 | 15/15 | ||||||
| 9 | Accepted | 1ms | 316 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Accepted | 1ms | 316 KiB | ||||
| 12 | Accepted | 1ms | 316 KiB | ||||
| subtask5 | 5/5 | ||||||
| 13 | Accepted | 3ms | 316 KiB | ||||
| 14 | Accepted | 3ms | 352 KiB | ||||
| 15 | Accepted | 3ms | 316 KiB | ||||
| subtask6 | 5/5 | ||||||
| 16 | Accepted | 3ms | 316 KiB | ||||
| 17 | Accepted | 3ms | 316 KiB | ||||
| 18 | Accepted | 3ms | 508 KiB | ||||
| 19 | Accepted | 3ms | 316 KiB | ||||
| subtask7 | 10/10 | ||||||
| 20 | Accepted | 4ms | 316 KiB | ||||
| 21 | Accepted | 4ms | 316 KiB | ||||
| 22 | Accepted | 4ms | 316 KiB | ||||
| 23 | Accepted | 3ms | 316 KiB | ||||
| 24 | Accepted | 4ms | 464 KiB | ||||
| subtask8 | 25/25 | ||||||
| 25 | Accepted | 48ms | 1472 KiB | ||||
| 26 | Accepted | 48ms | 1468 KiB | ||||
| 27 | Accepted | 48ms | 1468 KiB | ||||
| 28 | Accepted | 1ms | 316 KiB | ||||
| 29 | Accepted | 78ms | 1476 KiB | ||||
| 30 | Accepted | 70ms | 1476 KiB | ||||
| 31 | Accepted | 70ms | 1484 KiB | ||||
| 32 | Accepted | 71ms | 1588 KiB | ||||
| 33 | Accepted | 71ms | 1588 KiB | ||||
| 34 | Accepted | 71ms | 1488 KiB | ||||
| 35 | Accepted | 72ms | 1632 KiB | ||||
| 36 | Accepted | 70ms | 1772 KiB | ||||
| 37 | Accepted | 71ms | 1472 KiB | ||||
| 38 | Accepted | 70ms | 1588 KiB | ||||
| 39 | Accepted | 78ms | 1588 KiB | ||||
| 40 | Accepted | 57ms | 1592 KiB | ||||
| 41 | Accepted | 71ms | 1588 KiB | ||||
| 42 | Accepted | 46ms | 1844 KiB | ||||
| 43 | Accepted | 70ms | 1624 KiB | ||||
| 44 | Accepted | 68ms | 1588 KiB | ||||
| 45 | Accepted | 71ms | 1476 KiB | ||||
| subtask9 | 25/25 | ||||||
| 46 | Accepted | 138ms | 2612 KiB | ||||
| 47 | Accepted | 143ms | 2776 KiB | ||||
| 48 | Accepted | 138ms | 2612 KiB | ||||
| 49 | Accepted | 162ms | 2776 KiB | ||||
| 50 | Accepted | 162ms | 2772 KiB | ||||
| 51 | Accepted | 162ms | 2768 KiB | ||||
| 52 | Accepted | 136ms | 4404 KiB | ||||
| 53 | Accepted | 149ms | 3704 KiB | ||||
| 54 | Accepted | 150ms | 2868 KiB | ||||
| 55 | Accepted | 109ms | 2612 KiB | ||||