Submission #1123736

#TimeUsernameProblemLanguageResultExecution timeMemory
1123736zentan Martian DNA (BOI18_dna)C++17
0 / 100
2094 ms8468 KiB
#include <bits/stdc++.h> using namespace std; bool valid(map<int,int> &req, map<int,int> &current) { if(current.size() < req.size()) return false; for(auto &[key, value] : req) { if(current[key] < value) return false; } return true; } int main() { int N, K, R; cin >> N >> K >> R; vector<int> dna(N); for(int i = 0; i < N; i++) { cin >> dna[i]; } map<int, int> req; for(int i = 0; i < R; i++) { int a, b; cin >> a >> b; req[a] = b; } int ans = INT_MAX; //sliding window map<int,int> current; int l(0), r(0); //no elements selected while(l<=r && r < N) { // cout << l << " " << r << "\n"; if(!valid(req, current)) { //not valid current[dna[r]] += 1; r++; } else { ans = min(ans, r-l); current[dna[l]] -= 1; l++; } } if(ans == INT_MAX) { cout << "impossible\n"; } else { cout << ans << "\n"; } 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...