1236 2022. 03. 27 18:43:59 Valaki2 Növekvő Ödön és a Másoló Varázsló cpp14 Futási hiba 50/100 598ms 473728 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second

const int inf = 1e9 + 7;

void solve() {
    int n, m;
    cin >> n >> m;
    vector<int> a(1 + n, 0);
    vector<int> b(1 + m, 0);
    for(int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    for(int i = 1; i <= m; i++) {
        cin >> b[i];
    }
    sort(b.begin() + 1, b.end());
    vector<int> req(1 + n, inf);
    // req[i]: minimum hany valtoztatas kell mindenkepp (az elso i elemen ertelmezve)
    vector<vector<int> > dp(1 + n, vector<int> (1 + n, inf));
    // dp[i][j]: max j darab valtoztatassal mi a legkisebb maximum (az elso i elemen ertelmezve)
    // dp[i] csokkeno
    for(int j = 0; j <= n; j++) {
        dp[0][j] = 0;
    }
    req[0] = 0;
    for(int i = 1; i <= n; i++) {
        for(int j = req[i - 1]; j <= n; j++) {
            if(dp[i - 1][j] < a[i]) {
                dp[i][j] = a[i];
            }
        }
        for(int j = req[i - 1]; j < n; j++) {
            auto it = upper_bound(b.begin(), b.end(), dp[i - 1][j]);
            if(it == b.end()) {
                continue;
            }
            int num = *it;
            dp[i][j + 1] = min(dp[i][j + 1], num);
        }
        for(int j = 0; j <= n; j++) {
            if(dp[i][j] != inf) {
                req[i] = j;
                break;
            }
        }
    }
    cout << req[n] << "\n";
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    solve();
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 2ms 2028 KiB
2 Futási hiba 241ms 445392 KiB
subtask2 5/5
3 Elfogadva 45ms 5216 KiB
4 Elfogadva 43ms 7156 KiB
5 Elfogadva 41ms 9112 KiB
subtask3 10/10
6 Elfogadva 1ms 7756 KiB
7 Elfogadva 1ms 7760 KiB
8 Elfogadva 1ms 7784 KiB
subtask4 15/15
9 Elfogadva 3ms 8476 KiB
10 Elfogadva 3ms 8480 KiB
11 Elfogadva 2ms 8184 KiB
12 Elfogadva 2ms 8496 KiB
subtask5 5/5
13 Elfogadva 363ms 202392 KiB
14 Elfogadva 361ms 198848 KiB
15 Elfogadva 361ms 198952 KiB
subtask6 5/5
16 Elfogadva 358ms 199088 KiB
17 Elfogadva 363ms 199244 KiB
18 Elfogadva 365ms 199304 KiB
19 Elfogadva 360ms 199384 KiB
subtask7 10/10
20 Elfogadva 598ms 199476 KiB
21 Elfogadva 555ms 199564 KiB
22 Elfogadva 374ms 199664 KiB
23 Elfogadva 167ms 74480 KiB
24 Elfogadva 483ms 181244 KiB
subtask8 0/25
25 Futási hiba 240ms 456312 KiB
26 Futási hiba 246ms 456504 KiB
27 Futási hiba 248ms 456488 KiB
28 Elfogadva 1ms 1948 KiB
29 Futási hiba 273ms 455672 KiB
30 Futási hiba 250ms 456292 KiB
31 Futási hiba 250ms 457752 KiB
32 Futási hiba 259ms 461436 KiB
33 Futási hiba 259ms 469896 KiB
34 Futási hiba 263ms 473716 KiB
35 Futási hiba 246ms 473728 KiB
36 Futási hiba 247ms 471836 KiB
37 Futási hiba 248ms 473032 KiB
38 Futási hiba 256ms 473020 KiB
39 Futási hiba 257ms 472816 KiB
40 Futási hiba 254ms 473092 KiB
41 Futási hiba 261ms 472864 KiB
42 Futási hiba 239ms 473344 KiB
43 Futási hiba 261ms 472972 KiB
44 Futási hiba 245ms 470276 KiB
45 Futási hiba 250ms 473080 KiB
subtask9 0/25
46 Futási hiba 282ms 473116 KiB
47 Futási hiba 284ms 472916 KiB
48 Futási hiba 397ms 471540 KiB
49 Futási hiba 284ms 472944 KiB
50 Futási hiba 305ms 470664 KiB
51 Futási hiba 284ms 473508 KiB
52 Futási hiba 272ms 473092 KiB
53 Futási hiba 284ms 473424 KiB
54 Futási hiba 282ms 473696 KiB
55 Futási hiba 289ms 473136 KiB