Advertisement
a53

colina

a53
Nov 17th, 2019
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. ifstream fin("colina.in");
  4. ofstream fout("colina.out");
  5. int h[100001],q[100001];
  6.  
  7. int main()
  8. {
  9. int n,m,i,j,max,imax=0,x,s,d,mij;
  10. bool gasits,gasitd;
  11. int pozs,pozd;
  12. fin>>n>>m;
  13. for (i=1; i<=n; i++) fin>>h[i];
  14. for (j=1; j<=m; j++) fin>>q[j];
  15. max=0;
  16. for (i=1; i<=n; i++)
  17. if (h[i]>max)
  18. {
  19. max=h[i];
  20. imax=i;
  21. }
  22. for (i=1; i<=m; i++)
  23. {
  24. x=q[i];
  25. ///cautam la stanga
  26. s=1;
  27. d=imax; gasits=false;
  28. while (s<=d && gasits==false)
  29. {
  30. mij=(s+d)/2;
  31. if (x==h[mij])
  32. {
  33. gasits=true;
  34. pozs=mij;
  35. }
  36. else if (x<h[mij]) d=mij-1;
  37. else s=mij+1;
  38. }
  39. //cautam la dreapta
  40. s=imax+1;
  41. d=n;
  42. gasitd=false;
  43. while (s<=d && gasitd==false)
  44. {
  45. mij=(s+d)/2;
  46. if (x==h[mij])
  47. {
  48. gasitd=true;
  49. pozd=mij;
  50. }
  51. else if (x>h[mij]) d=mij-1;
  52. else s=mij+1;
  53. }
  54. if (gasits==false&&gasitd==false) fout<<"NU"<<'\n';
  55. else
  56. {
  57. fout<<"DA"<<' ';
  58. if (gasits==true) fout<<pozs<<' ';
  59. if (gasitd==true) fout<<pozd;
  60. fout<<'\n';
  61. }
  62. }
  63. fin.close();
  64. fout.close();
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement