#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k,r;
cin>>n>>k>>r;
vector<int> v(n);
for(int i=0;i<n;i++)
cin>>v[i];
vector<int> f(k,0);
for(int i=0;i<r;i++)
{
int b,q;
cin>>b>>q;
f[b]=q;
}
vector<int> cnt(k,0);
int i=0,s=0,res=n+1;
for(int j=0;j<n;j++)
{
cnt[v[j]]++;
if(f[v[j]]>0&&cnt[v[j]]==f[v[j]])
s++;
while(s==r)
{
res=min(res,j-i+1);
cnt[v[i]]--;
if(f[v[i]]>0&&cnt[v[i]]<f[v[i]])
s--;
i++;
}
}
if(res>n)
cout<<"impossible";
else
cout<<res;
return 0;
}
| # | 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... |