diff options
Diffstat (limited to 'contests/Round938/D/main.cpp')
| -rwxr-xr-x | contests/Round938/D/main.cpp | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/contests/Round938/D/main.cpp b/contests/Round938/D/main.cpp deleted file mode 100755 index 612acb0..0000000 --- a/contests/Round938/D/main.cpp +++ /dev/null @@ -1,91 +0,0 @@ -#include <bits/stdc++.h> - -using namespace std; - -using ll = long long; -using pii = pair<int, int>; -using vpii = vector<pii>; -using vi = vector<int>; -using vll = vector<long long>; -using mpii = map<int, int>; -using mpll = map<ll, ll>; -using db = long double; - -#define pb push_back -#define all(x) (x).begin(), (x).end() -#define rall(x) (x).rbegin(), (x).rend() -#define lb lower_bound -#define ub upper_bound -#define make_unique(x) \ - sort(all((x))); \ - (x).resize(unique(all((x))) - (x).begin()) -/* // #define ceil(a, b) ((a) + (b)-1) / (b) */ - -const int mod = (int)1e9 + 7; -const db pi = acos((db)-1); -const int dx[4]{1, 0, -1, 0}; -const int dy[4]{0, 1, 0, -1}; - -#ifdef LOCAL -#include "debug.h" -#else -#define dbg(...) 42 -#endif - -/* stuff you should look for: - --------------------------- - * special cases (n=1?) - * int overflow, array bounds - * do smth instead of nothing and stay organized - * WRITE STUFF DOWN - * DON'T GET STUCK ON ONE APPROACH - */ - -void solve() { - int n, m, k; - cin >> n >> m >> k; - mpii fq; - vi a(n); - vi b(m); - int mx = 0; - for (auto &x : a) { - cin >> x; - mx = max(mx, x); - } - for (auto &x : b) { - cin >> x; - fq[x]++; - } - vi v(mx + 1); - int ans = 0; - int cnt = 0; - for (int i = 0; i < m; i++) { - v[a[i]]++; - if (v[a[i]] && v[a[i]] <= fq[a[i]]) { - ans++; - } - } - cnt += ans >= k; - for (int i = 1; i < n - m + 1; i++) { - v[a[i - 1]]--; - if (v[a[i - 1]] < fq[a[i - 1]]) { - ans--; - } - v[a[i + m - 1]]++; - if (v[a[i + m - 1]] && v[a[i + m - 1]] <= fq[a[i + m - 1]]) { - ans++; - } - cnt += ans >= k; - } - cout << cnt << '\n'; -} - -int main() { - ios_base::sync_with_stdio(false); - cin.tie(NULL); - int tt; - cin >> tt; - while (tt--) { - solve(); - } -} |
