Submission #1310453

#TimeUsernameProblemLanguageResultExecution timeMemory
1310453Samakahhh Martian DNA (BOI18_dna)C++20
100 / 100
513 ms29272 KiB
#include <bits/stdc++.h> #define endl "\n" using namespace std; typedef long long ll ; map<ll,ll>req,fa; set<ll>st; int main() { ios::sync_with_stdio(0);cin.tie(0);cout.tie(0) ; ll n,k,qq; cin >>n>>k>>qq; ll a[n]; for(ll i=0;i<n;i++){ cin >>a[i]; } while(qq--){ ll x,y; cin >>x>>y; req[x]=y; st.insert(x) ; } ll l=0,r=0,mn=1e9; while(l < n){ while(r<n && !st.empty()){ fa[a[r]]++; if(fa[a[r]]==req[a[r]]){ st.erase(a[r]); } r++; } if(st.empty()) mn=min(mn,r-l); // cout << l << " " << r << endl ; fa[a[l]]--; if(fa[a[l]] < req[a[l]]) st.insert(a[l]); l++; } if(mn!=1e9) cout <<mn<<endl; else{ cout <<"impossible"<<endl; } 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...