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. cin>>N>>M;
  12. for(int n=0; n<N; n+=1)
  13. cin>>A[n];
  14. for(int m=0; m<M; m+=1)
  15. cin>>B[m];
  16. sort(A,A+N);
  17. sort(B,B+M);
  18. long W=0;
  19. for(int m=0, n=0; n<N; n+=1){
  20. while(m<M && B[m]<A[n])
  21. m+=1;
  22. W+=m;
  23. }
  24. long L=0;
  25. for(int n=0, m=0; m<M; m+=1){
  26. while(n<N && A[n]<B[m])
  27. n+=1;
  28. L+=n;
  29. }
  30.  
  31. int l=M, y=0;
  32. for(int w=0, n=0; n<N; n+=1){
  33. while(w<M && B[w] <A[n])
  34. w+=1;
  35. while(y<M && B[y]<=A[n]){
  36. y+=1;
  37. l-=1;
  38. }
  39. if( w>=l && w+W>l+L ){
  40. cout<<A[n];
  41. return 0;
  42. }
  43. }
  44. cout<<-1;
  45. }
Success #stdin #stdout 0.01s 5300KB
stdin
3 3
1 1 5
1 2 4
stdout
5