Submission #1116921

#TimeUsernameProblemLanguageResultExecution timeMemory
1116921njoop Martian DNA (BOI18_dna)C++17
100 / 100
24 ms3532 KiB
#include <bits/stdc++.h> using namespace std; int n, k, r, req[300010], amt[300010], qu, ans = 1e9, p1 = 0, p2 = 0; vector<int> dna; void add(int type) { if(req[type] == 0) return; if(req[type] == amt[type]+1) { qu++; } amt[type]++; } void del(int type) { if(req[type] == 0) return; if(req[type] == amt[type]) { qu--; } amt[type]--; } int main() { cin.tie(0)->sync_with_stdio(0); cin >> n >> k >> r; for(int i=1; i<=n; i++) { int in; cin >> in; dna.push_back(in); } for(int i=1; i<=r; i++) { int b, q; cin >> b >> q; req[b] = q; } while(p1 < n) { while(qu < r && p2 < n) { add(dna[p2]); p2++; } if(qu == r) { ans = min(ans, p2-p1); } del(dna[p1]); p1++; } if(ans == 1e9) { cout << "impossible"; } else { 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...