fork download
  1. #include <bits/stdc++.h>
  2. #include<ext/pb_ds/assoc_container.hpp>
  3. #include<ext/pb_ds/tree_policy.hpp>
  4.  
  5. using namespace std;
  6. using namespace __gnu_pbds;
  7. // find_by_order ->return set[x]
  8. // order_of_key ->return index of first occ of x
  9. typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> oset;
  10. typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> omset;
  11. #define int long long
  12. #define endl '\n'
  13. #define pi pair<int,int>
  14. #define adjs(name, type, size) vector<vector<type>>name(size)
  15. #define adjpass(name, type) vector<vector<type>>&name
  16. #define rest(name, val) memset(name,val,sizeof(name))
  17. #define all(x) x.begin(),x.end()
  18. #define killua ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(0)
  19. //changes in dir:
  20. int dx[] = {0, 0, 1, -1, -1, 1, -1, 1};
  21. int dy[] = {1, -1, 0, 0, 1, 1, -1, -1};
  22. int cases = 0;
  23.  
  24. /***إِلا أَنْ يَشَاءَ اللَّهُ وَاذْكُرْ رَبَّكَ إِذَا نَسِيتَ وَقُلْ عَسَى أَنْ يَهْدِيَنِي رَبِّي لأَقْرَبَ مِنْ هَذَا رَشَدًا ***/
  25. int search(vector<int> &nums, int target) {
  26. int l = 0, r = nums.size() - 1;
  27. int mid = 0;
  28. while (l <= r) {
  29. mid = l + (r - l) / 2;
  30. if (nums[mid] == target) {
  31. return mid;
  32. }
  33. if (nums[mid] < target) {
  34. l = mid + 1;
  35. } else {
  36. r = mid - 1;
  37. }
  38. }
  39. return -1;
  40. }
  41.  
  42. void gon() {
  43. int n, q;
  44. cin >> n >> q;
  45. vector<int> v(n);
  46. map<int, int> mp;
  47. int idx = 1;
  48. for (auto &i: v) cin >> i, mp[i] = idx++;
  49. std::sort(v.begin(), v.end());
  50. while (q--) {
  51. int k;
  52. cin >> k;
  53. int ans = search(v, k);
  54. if (ans == -1) {
  55. cout << "No";
  56. } else {
  57. cout << "Yes ";
  58. cout << mp[k];
  59. }
  60. cout << endl;
  61. }
  62. }
  63.  
  64. int32_t main() {
  65. #ifndef ONLINE_JUDGE
  66. freopen("Input.txt", "r", stdin);
  67. freopen("Output.txt", "w", stdout);
  68. #endif
  69. killua;
  70. int t = 1;
  71. if (cases) cin >> t;
  72. while (t--) {
  73. gon();
  74. }
  75. }
Success #stdin #stdout 0.01s 5300KB
stdin
Standard input is empty
stdout
Standard output is empty