Advertisement
a53

panouri

a53
Oct 27th, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. ifstream f("panouri.in");
  4. ofstream g("panouri.out");
  5. int n,k,i,t,st,nr,Min,v[200001],fr[20001],fr1[20001];
  6. int main()
  7. {
  8. f>>n>>k;
  9. Min=n;
  10. for(i=1;i<=n;i++)
  11. f>>v[i];
  12. for(i=1;i<=k;i++)
  13. {
  14. f>>t;
  15. fr[t]=1;
  16. }
  17. st=1;
  18. for(i=1;i<=n;i++)
  19. {
  20. if(fr[v[i]]==1)
  21. {
  22. fr1[v[i]]++;
  23. if(fr1[v[i]]==1)
  24. nr++;
  25. if(nr==k)
  26. {
  27. while(st<i&&(fr1[v[st]]==0||fr1[v[st]]>1))
  28. {
  29. fr1[v[st]]=max(0,fr1[v[st]]-1);
  30. st++;
  31. }
  32. if(Min>i-st)
  33. Min=i-st;
  34. }
  35. }
  36.  
  37. }
  38. g<<Min;
  39. return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement