fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int MaxN=1e5;
  5. const int MaxA=1e9;
  6. int N, M;
  7. int A[MaxN];
  8. int B[MaxN];
  9.  
  10. int main(){
  11. // input
  12. cin>>N>>M;
  13. for(int n=0; n<N; n+=1)
  14. cin>>A[n];
  15. for(int m=0; m<M; m+=1)
  16. cin>>B[m];
  17. //
  18. sort(A,A+N);
  19. sort(B,B+M);
  20. long W=0;
  21. for(int m=0, n=0; n<N; n+=1){
  22. while(m<M && B[m]<A[n])
  23. m+=1;
  24. W+=m;
  25. }
  26. long L=0;
  27. for(int n=0, m=0; m<M; m+=1){
  28. while(n<N && A[n]<B[m])
  29. n+=1;
  30. L+=n;
  31. }
  32.  
  33. int l=M, y=0;
  34. for(int w=0, n=0; n<N; n+=1){
  35. while(w<M && B[w] <A[n])
  36. w+=1;
  37. while(y<M && B[y]<=A[n]){
  38. y+=1;
  39. l-=1;
  40. }
  41. if( w>=l && w+W>l+L ){
  42. cout<<A[n];
  43. return 0;
  44. }
  45. }
  46. cout<<-1;
  47. }
Success #stdin #stdout 0s 5304KB
stdin
4 5
3 1 5 1
3 2 4 3 1
stdout
5