Submission #975234

#TimeUsernameProblemLanguageResultExecution timeMemory
975234Nipphitch Martian DNA (BOI18_dna)C++14
100 / 100
38 ms4028 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 << "impossible",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-1); } 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...