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> nums(n);
  8. for(int i = 0; i < n; i++) cin >> nums[i];
  9. cin >> target;
  10. int first = -1, last = -1;
  11. int l = 0, r = n - 1;
  12. while(l <= r) {
  13. int mid = (l + r) / 2;
  14. if(nums[mid] >= target) {
  15. if(nums[mid] == target) first = mid;
  16. r = mid - 1;
  17. } else {
  18. l = mid + 1;
  19. }
  20. }
  21. l = 0; r = n - 1;
  22. while(l <= r) {
  23. int mid = (l + r) / 2;
  24. if(nums[mid] <= target) {
  25. if(nums[mid] == target) last = mid;
  26. l = mid + 1;
  27. } else {
  28. r = mid - 1;
  29. }
  30. }
  31.  
  32. cout << first << " " << last << endl;
  33. return 0;
  34. }
  35.  
  36.  
Success #stdin #stdout 0.01s 5288KB
stdin
 6
5 7 7 8 8 10
8
stdout
3 4