Submission #927100

#TimeUsernameProblemLanguageResultExecution timeMemory
927100vjudge1 Martian DNA (BOI18_dna)C++17
68 / 100
2041 ms2652 KiB
#include<bits/stdc++.h> using namespace std; const int N = (int)2e5+3; const int MOD = (int)1e6+3; int n, k, r, a[N], c[N], cnt[N]; int b[11]; int main() { ios_base::sync_with_stdio(NULL); cin.tie(0); cin >> n >> k >> r; for(int i = 1; i <= n; ++i) { cin >> a[i]; } for(int i = 1; i <= r; ++i) { int x, y; cin >> x >> y; c[x]=y; b[i]=x; } int j = 1; int ans = n+1; for(int i = 1; i <= n; ++i) { cnt[a[i]]++; while(j<=i && cnt[a[j]]-1>=c[a[j]]) { cnt[a[j]]--; j++; } bool ok = 1; for(int x = 1; x <= r && ok; ++x) { ok &= (cnt[b[x]]>=c[b[x]]); } if(ok) { ans = min(ans, i-j+1); } } if(ans == n+1) { cout << "impossible"; return 0; } cout << ans; 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...