#include <bits/stdc++.h>
#define endl "\n"
using namespace std;
typedef long long ll ;
vector<ll>primes;
map<ll,ll>req,fa;
int main() {
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0) ;
ll n,k,qq;
cin >>n>>k>>qq;
ll a[n];
for(ll i=0;i<n;i++){
cin >>a[i];
}
while(qq--){
ll x,y;
cin >>x>>y;
req[x]=y;
}
ll l=0,r=0,mn=1e9;
while(r<n||l<n){
//check
bool is=1;
for(auto p : req){
if(fa[p.first]<p.second){
is=0;
}
}
if(is==0&&r<n){
fa[a[r]]++;
r++;
}
else{
if(is==1){
mn=min(mn,r-l);
}
fa[a[l]]--;
l++;
}
}
if(mn!=1e9)
cout <<mn<<endl;
else{
cout <<"impossible"<<endl;
}
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... |