1285 | 2022-03-30 09:41:50 | Valaki2 | Maximum felosztás | cpp14 | Futási hiba 40/100 | 1.077s | 497700 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
const int mod = 1e9 + 7;
const int maxn = 1e5;
void solve() {
int n, m;
cin >> n >> m;
// mistaking n, m ?
vector<int> a(1 + n, 0);
vector<int> b(1 + m, 0);
vector<int> v(1, 0);
for(int i = 1; i <= n; i++) {
cin >> a[i];
v.pb(a[i]);
}
for(int i = 1; i <= m; i++) {
cin >> b[i];
v.pb(b[i]);
}
sort(v.begin(), v.end());
v.resize(unique(v.begin(), v.end()) - v.begin());
for(int i = 1; i <= n; i++) {
a[i] = (int) (lower_bound(v.begin(), v.end(), a[i]) - v.begin());
}
for(int i = 1; i <= m; i++) {
b[i] = (int) (lower_bound(v.begin(), v.end(), b[i]) - v.begin());
}
// all elements between 1 and n+m<=2e5
/*for(int i = 1; i <= n; i++) {
cout << a[i] << " ";
}
cout << "\n";
for(int i = 1; i <= m; i++) {
cout << b[i] << " ";
}
cout << "\n";*/
vector<vector<pair<int, int> > > intervals(1 + 2 * maxn);
for(int l = 1; l <= n; l++) {
int maxi = 0;
for(int r = l; r <= n; r++) {
maxi = max(maxi, a[r]);
intervals[maxi].pb(mp(l, r));
}
}
vector<int> dp;
dp.assign(1 + n, 0);
dp[0] = 1;
for(int i = 1; i <= m; i++) {
vector<int> new_dp(1 + n, 0);
for(pair<int, int> p : intervals[b[i]]) {
new_dp[p.se] = (new_dp[p.se] + dp[p.fi - 1]) % mod;
}
dp = new_dp;
}
cout << dp[n] << "\n";
}
signed 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 | 7ms | 11000 KiB | ||||
2 | Elfogadva | 81ms | 83348 KiB | ||||
subtask2 | 10/10 | ||||||
3 | Elfogadva | 9ms | 16204 KiB | ||||
4 | Elfogadva | 9ms | 15832 KiB | ||||
5 | Elfogadva | 9ms | 15984 KiB | ||||
6 | Elfogadva | 8ms | 15716 KiB | ||||
7 | Elfogadva | 9ms | 15708 KiB | ||||
8 | Elfogadva | 8ms | 15584 KiB | ||||
subtask3 | 15/15 | ||||||
9 | Elfogadva | 9ms | 16412 KiB | ||||
10 | Elfogadva | 8ms | 15604 KiB | ||||
11 | Elfogadva | 10ms | 15996 KiB | ||||
12 | Elfogadva | 10ms | 16136 KiB | ||||
13 | Elfogadva | 10ms | 15688 KiB | ||||
14 | Elfogadva | 8ms | 15776 KiB | ||||
15 | Elfogadva | 10ms | 16792 KiB | ||||
16 | Elfogadva | 8ms | 16488 KiB | ||||
17 | Elfogadva | 9ms | 16628 KiB | ||||
18 | Elfogadva | 8ms | 16324 KiB | ||||
subtask4 | 15/15 | ||||||
19 | Elfogadva | 90ms | 91648 KiB | ||||
20 | Elfogadva | 85ms | 109772 KiB | ||||
21 | Elfogadva | 75ms | 96996 KiB | ||||
22 | Elfogadva | 82ms | 96804 KiB | ||||
23 | Elfogadva | 101ms | 101692 KiB | ||||
24 | Elfogadva | 79ms | 84900 KiB | ||||
25 | Elfogadva | 68ms | 86732 KiB | ||||
26 | Elfogadva | 65ms | 80580 KiB | ||||
27 | Elfogadva | 59ms | 88708 KiB | ||||
28 | Elfogadva | 150ms | 91596 KiB | ||||
29 | Elfogadva | 57ms | 77388 KiB | ||||
30 | Elfogadva | 82ms | 83288 KiB | ||||
31 | Elfogadva | 54ms | 80664 KiB | ||||
32 | Elfogadva | 98ms | 87832 KiB | ||||
33 | Elfogadva | 59ms | 82560 KiB | ||||
34 | Elfogadva | 107ms | 89896 KiB | ||||
35 | Elfogadva | 54ms | 84088 KiB | ||||
36 | Elfogadva | 116ms | 90992 KiB | ||||
37 | Elfogadva | 57ms | 80388 KiB | ||||
38 | Elfogadva | 86ms | 89392 KiB | ||||
subtask5 | 0/60 | ||||||
39 | Futási hiba | 426ms | 322032 KiB | ||||
40 | Futási hiba | 414ms | 384804 KiB | ||||
41 | Időlimit túllépés | 367ms | 190440 KiB | ||||
42 | Időlimit túllépés | 458ms | 208360 KiB | ||||
43 | Futási hiba | 298ms | 333632 KiB | ||||
44 | Időlimit túllépés | 363ms | 178048 KiB | ||||
45 | Futási hiba | 363ms | 330372 KiB | ||||
46 | Futási hiba | 337ms | 319856 KiB | ||||
47 | Időlimit túllépés | 446ms | 215864 KiB | ||||
48 | Időlimit túllépés | 449ms | 198900 KiB | ||||
49 | Futási hiba | 340ms | 340616 KiB | ||||
50 | Futási hiba | 314ms | 298048 KiB | ||||
51 | Időlimit túllépés | 400ms | 204028 KiB | ||||
52 | Időlimit túllépés | 437ms | 209568 KiB | ||||
53 | Időlimit túllépés | 402ms | 201276 KiB | ||||
54 | Futási hiba | 375ms | 449204 KiB | ||||
55 | Időlimit túllépés | 354ms | 201144 KiB | ||||
56 | Időlimit túllépés | 518ms | 224656 KiB | ||||
57 | Időlimit túllépés | 411ms | 223912 KiB | ||||
58 | Időlimit túllépés | 375ms | 205136 KiB | ||||
59 | Időlimit túllépés | 1.026s | 198588 KiB | ||||
60 | Futási hiba | 282ms | 278040 KiB | ||||
61 | Időlimit túllépés | 398ms | 230896 KiB | ||||
62 | Futási hiba | 294ms | 398780 KiB | ||||
63 | Futási hiba | 898ms | 497556 KiB | ||||
64 | Időlimit túllépés | 293ms | 213064 KiB | ||||
65 | Futási hiba | 917ms | 497700 KiB | ||||
66 | Futási hiba | 312ms | 407020 KiB | ||||
67 | Időlimit túllépés | 1.047s | 216184 KiB | ||||
68 | Futási hiba | 314ms | 393484 KiB | ||||
69 | Időlimit túllépés | 1.077s | 228940 KiB | ||||
70 | Futási hiba | 356ms | 328544 KiB | ||||
71 | Időlimit túllépés | 819ms | 231040 KiB |