fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n, target;
  6. cin >> n;
  7. vector<int> ans, nums(n);
  8. for(int i = 0; i < n; i++){
  9. cin >> nums[i];
  10. }
  11. cin >> target;
  12. int first = -1, last = -1;
  13. for(int l = 0, r = n - 1; l <= r; ) {
  14. int mid = (l + r) / 2;
  15. if(nums[mid] >= target){
  16. if(nums[mid] == target) first = mid;
  17. r = mid - 1;
  18. } else {
  19. l = mid + 1;
  20. }
  21. }
  22. ans.push_back(first);
  23. for(int l = 0, r = n - 1; l <= r; ) {
  24. int mid = (l + r) / 2;
  25. if(nums[mid] <= target){
  26. if(nums[mid] == target) last = mid;
  27. l = mid + 1;
  28. } else {
  29. r = mid - 1;
  30. }
  31. }
  32. ans.push_back(last);
  33. for(auto it : ans) cout << it << " ";
  34. cout << endl;
  35. }
  36.  
  37.  
  38.  
  39.  
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
0 0