Submission #1311046

#TimeUsernameProblemLanguageResultExecution timeMemory
1311046waelkb Martian DNA (BOI18_dna)C++20
100 / 100
155 ms14300 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define f first #define s second #define mid (l+r)/2.0 const int M=1e18,N=3e5+1,mod=998244353; int pxp(int x,int p){ int ans=1; while(p){ if(p&1)ans*=x,ans%=mod; x*=x,x%=mod,p>>=1;} return ans; } void solve(){ int n,k,R;cin>>n>>k>>R; vector<int> a(n); map <int,int> mp; for(int i=0;i<n;i++)cin>>a[i]; for(int i=0;i<R;i++){ int x,y;cin>>x>>y; mp[x]=y; } int l=0,r=0,cnt=0,ans=M; while(r<n){ mp[a[r]]--; if(mp[a[r]]==0)cnt++; r++; while(cnt==R){ mp[a[l]]++; if(mp[a[l]]==1)cnt--; l++; ans=min(ans,r-l+1); } } if(ans==M)cout<<"impossible"<<'\n'; else cout<<ans<<'\n'; } signed main(){ ios::sync_with_stdio(0), cin.tie(0); cout.tie(0); // int t; cin>>t; while(t--) solve(); 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...