给出有 n 个元素的由小到大的序列,请你编程找出某元素最后一次出现的位置。(n<=10^6)
#include <bits/stdc++.h> using namespace std; int arr[1000005],n,k; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",arr+i); scanf("%d",&k); int left=1,right=n,mid; while(left<right) { _____(1)______; if(k<arr[mid]) right=_____(2)_____; else left=____(3)______; } if(_____(4)_____) cout<<_____(5)______; else cout<<-1; }