| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1367015 | nataliaa | Martian DNA (BOI18_dna) | C++20 | 2094 ms | 2464 KiB |
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m, q;
cin >> n >> m >> q;
int a[n+1];
for(int i = 1; i <= n; i++){
cin >> a[i];
}
int ok[m+1]={};
while(q--){
int x, y;
cin >> x >> y;
ok[x] = y;
}
int l = 1, r = 1;
int cnt[m+1]={}, fix[n+1]={}, ans = 1e9;
while(l<=n&&r<=n){
if(fix[r]==0&&r<=n){
cnt[a[r]]++;
}
if(r<=n)fix[r] = 1;
// cout << l << " "<<r<<endl;
bool t = 1;
// for(int i = 0; i<=m; i++) cout << cnt[i] <<' ';
// cout << endl;
// for(int i = 0; i<=m; i++) cout << ok[i] <<' ';
// cout << endl;
// cout << endl;
for(int i = 0; i<=m; i++){
if(cnt[i]<ok[i]) {
t=0;
break;
}
}
if(t){
ans = min(ans, r- l+1);
cnt[a[l]]--;
l++;
} else r++;
}
if(ans==1e9) cout <<"impossible";
else cout << ans ;
}| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
