Submission #1301488

#TimeUsernameProblemLanguageResultExecution timeMemory
1301488oa0605 Martian DNA (BOI18_dna)C++20
100 / 100
75 ms2732 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...