Submission #535876

#TimeUsernameProblemLanguageResultExecution timeMemory
535876ammar2000 Martian DNA (BOI18_dna)C++17
0 / 100
29 ms4712 KiB
#include<bits/stdc++.h> #define ll long long #define pb push_back #define F first #define S second #define coy cout<<"YES\n" #define con cout<<"NO\n" #define co1 cout<<"-1\n" #define sc(x) scanf("%lld",&x) #define all(x) x.begin(),x.end() #define fast ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); using namespace std; const int SI=3e5+7; ll INF=8e18+7; int dx[] = {1 , -1 , 0 , 0}; int dy[] = {0 , 0 , 1 , -1}; int MOD=1e9+7; ll n,k,r; ll a[SI],w[SI],c[SI]; ll st; int main() { fast cin>>n>>k>>r; for (int i=0;i<n;i++) cin>>a[i]; for (int i=0;i<r;i++) { ll x,y; cin>>x>>y; w[x]=y; st++; } ll f=0,s=0,ans=INF; while (f<n&&s<n) { while (s<n&&st) { c[a[s]]++; if (c[a[s]]==w[a[s]]) st--; s++; } //cout<<f<<" "<<s<<"\n"; if (s==n&&st) break; ans=min(ans,s-f); if (c[a[f]]==w[a[f]]) st++; c[a[f++]]--; } if (ans==INF) cout <<"impossible\n"; else cout <<ans; // use scanf not cin return 0; } /* 5 2 2 0 1 1 0 1 0 1 1 1 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...