Submission #1183297

#TimeUsernameProblemLanguageResultExecution timeMemory
1183297kayumov_muhammadMatching (CEOI11_mat)C++20
36 / 100
2095 ms5288 KiB
#include <bits/stdc++.h>

#ifdef LOCAL
#include "debug/debug.hpp"
#else
#define print(...)
#endif

using ll = int;
using ld = double;
using ull = unsigned long long;
#define str string

#define all(v) v.begin(), v.end()
#define fi first
#define se second
#define ent cout << "\n";
#define sz(v) ll(v.size())

using namespace std;

const long long MOD = 1e9 + 7, inf = 1e18;

void solve() {
    ll n, m;
    cin >> n >> m;

    ll a2[n + 17];

    for (ll i = 1; i <= n; i++) {
        cin >> a2[i];
    }

    ll b[m + 17];

    for (ll i = 1; i <= m; i++) {
        cin >> b[i];
    }
    vector<ll> ans;
    for (ll i = 1; i + n - 1 <= m; i++) {
        ll ok = 1;

        for (ll j = i; j - i + 2 <= n; j++) {
            if (b[a2[j - i + 1] + i - 1] > b[a2[j - i + 2] + i - 1]) {
                ok = 0;
                break;
            }
        }
        if (ok) {
            ans.push_back(i);
        }
    }

    cout << sz(ans) << '\n';

    for (auto c : ans) {
        cout << c << ' ';
    }
    ent;
}

int32_t main() {
#ifdef ONLINE_JUDGE
    // freopen("input.txt","r",stdin);
    // freopen("output.txt","w",stdout);
#endif
    ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);

    ll ttest = 1;
    // cin >> ttest;

    for (ll test_number = 1; test_number <= ttest; test_number++) {
        solve();
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...