# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
941127 | 2024-03-08T07:38:43 Z | FKS | Martian DNA (BOI18_dna) | C++14 | 2000 ms | 7540 KB |
#include <bits/stdc++.h> using namespace std; #define max(a, b) (a > b ? a : b) int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, k, r;cin>>n>>k>>r; int* dna = new int[n]; for (int i = 0;i < n;i++) cin >> dna[i]; unordered_set<int> hset; unordered_map<int, int> req; for (int i = 0;i < r;i++) { int x, y; cin >> x >> y; hset.emplace(x); req[x] = y; } int min_len = 1e9; int j = 0; for (int i = 0;i < n;i++) { if (i && hset.count(dna[i-1])) req[dna[i-1]]++; for (j;j < n;j++) { if (hset.count(dna[j])) { req[dna[j]]--; } bool ok = true; for (auto& i : req) if (i.second > 0) { ok = false; break; } if (ok) { min_len = min(min_len, j - i + 1); break; } } } if (min_len == 1e9) cout << "impossible"; else if (min_len) cout << min_len; else if (min_len == 0) cout << "impossible"; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 19 ms | 1116 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2041 ms | 7540 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |