#include <bits/stdc++.h>
using namespace std;
#define int long long
#define inf 0x3F3F3F3F3F3F3F3F
const int MXN = 2e5 + 1;
const int mod = 1e9 + 7;
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, k, r;
cin >> n >> k >> r;
int d[n];
for (int &i : d) cin >> i;
vector<int> q(k, 0), cnt(k, 0);
int bad = r;
while (r--)
{
int a, b;
cin >> a >> b;
q[a] = b;
}
int res = n + 1;
for (int r = 0, l = 0; r < n; r++)
{
cnt[d[r]]++;
if (cnt[d[r]] == q[d[r]]) bad--;
while (!bad && cnt[d[l]] > q[d[l]]) cnt[d[l]]--, l++;
if (!bad) res = min(res, r - l + 1);
}
if (res == n + 1) cout << "impossible\n";
else cout << res << '\n';
}
# | 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... |