#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
#define He_he_boy ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0)
#define ld long double
#define pb push_back
#define pf push_front
#define eb emplace_back
#define fi first
#define se second
#define ull unsigned long long
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define mx_e max_element
#define open freopen("fcolor.in", "r", stdin);
#define close freopen("fcolor.out", "w", stdout);
#define endl cout << '\n'
#define run(a) for (ll w23 = 1; w23 <= a; w23++)
typedef int ll;
using namespace std;
const ld eps = 0.00001, Pi = 3.14159275358979323846;
const ll mod = 1e9 + 7;
ll mod2 = 998244353, tt;
/// --------------------------------------------------------
ld dist(ld x, ld y, ld x2, ld y2){
return sqrt((x - x2) * (x - x2) + (y - y2) * (y - y2));
}
ll s[1000010], c[1000010], a[1000010];
void Ali() {
ll n, m;
cin >> n >> m;
for(ll i = 1;i <= n;i ++){
cin >> s[i];
}
for(ll i = 1;i <= m;i ++){
cin >> a[i];
}
set<pair<ll, pair<ll, ll>>>t;
for(ll i = 1;i + n - 1 <= m;i ++){
if(a[s[2] + i - 1] > a[s[1] + i - 1]){
t.insert({i, {a[s[1] + i - 1], a[s[2] + i - 1]}});
}
}
for(ll i = 3;i <= n;i ++){
vector<pair<ll, pair<ll, ll>>>v, v2;
for(auto to : t){
if(to.se.se < to.se.fi){
v.pb(to);
}
else{
v2.pb(to);
}
}
for(auto to : v){
t.erase(to);
}
for(ll j = 0;j < v2.size();j ++){
t.erase(v2[j]);
v2[j].se.fi = v2[j].se.se;
v2[j].se.se = a[s[i] + v2[j].fi - 1];
t.insert(v2[j]);
}
}
cout << t.size() << '\n';
for(auto to : t){
cout << to.fi << ' ';
}
}
/// --------------------------------------------------------
int main() {
// open
// close;
He_he_boy;
ll gg = 1; tt = 0;
//cin >> gg;
while (gg--) {
Ali();
// cout << '\n';
}
/*
**PLUS ULTRA**
*/
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |