제출 #1301510

#제출 시각아이디문제언어결과실행 시간메모리
1301510josiftepe Martian DNA (BOI18_dna)C++20
0 / 100
25 ms2764 KiB
#include <iostream> #include <algorithm> #include <vector> using namespace std; const int INF = 2e9; int main() { ios_base::sync_with_stdio(false); int n, k, r; cin >> n >> k >> r; vector<int> v(n); for(int i = 0; i < n; i++) { cin >> v[i]; } vector<int> req(k + 1, 0); for(int i = 0; i < r; i++) { int A, B; cin >> A >> B; req[A] = B; } int i = 0, j = 0; int res = INF; vector<int> cnt(k + 1, 0); int satisfied_req = 0; while(j < n) { if(satisfied_req < r) { if(req[v[j]] > 0) { if(cnt[v[j]] + 1 == req[v[j]]) { satisfied_req++; } cnt[v[j]]++; } j++; } else { if(req[v[i]] > 0) { if(cnt[v[i]] - 1 < req[v[i]]) { satisfied_req--; } cnt[v[i]]--; } i++; } if(satisfied_req == r) { res = min(res, j - i); } } if(res == INF) { cout << "impossible" << endl; } else { cout << res << endl; } return 0; } /* 5 2 2 0 1 1 0 1 0 1 1 1 13 4 3 1 1 3 2 0 1 2 0 0 0 0 3 1 0 2 2 1 1 2 5 3 1 1 2 0 1 2 0 2 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...