Submission #975224

#TimeUsernameProblemLanguageResultExecution timeMemory
975224Nipphitch Martian DNA (BOI18_dna)C++14
0 / 100
20 ms2652 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+5;

int n,k,r,a[N],cnt[N],mn[N],now=1,ans;

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin >> n >> k >> r;
	for(int i=1;i<=n;i++) cin >> a[i];
	for(int i=0;i<r;i++){
		int x,y;
		cin >> x >> y;
		mn[x]=y;
	}
	for(int i=0;i<k;i++) while(cnt[i]<mn[i] && now<=n) cnt[a[now++]]++;
	for(int i=0;i<k;i++) if(cnt[i]<mn[i]) cout << "imposible",exit(0);
	ans=now-1;
	for(int i=1;i<n;i++){
		cnt[a[i]]--;
		while(cnt[a[i]]<mn[a[i]] && now<=n) cnt[a[now++]]++;
		if(cnt[a[i]]<mn[a[i]]) break;
		ans=min(ans,now-i);
	}
	cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...