Gửi bài giải
Điểm:
3,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Cho một mảng A nguyên gồm N phần tử đã sắp xếp tăng dần, hãy tìm chỉ số của phần tử xuất hiện cuối cùng trong mảng, ví dụ mảng 1, 3, 4, 5, 5, 5, 6, 7. Nếu tìm số 5 thì số 5 xuất hiện cuối cùng sẽ có chỉ số 5, chỉ số này được in ra. Nếu không tìm thấy thì in ra -1
Ràng buộc: ~0 < N \leq 10^6~, ~-10^6 < A[i] \leq 10^6~
Input 01:
8 5
1 3 4 5 5 5 6 7
Output 01:
5
Input 02:
7 -3
-3 -3 -1 4 5 6 7
Output 02:
1
Input 03:
6 10
1 3 4 5 6 7
Output 03:
-1
Bình luận
include <stdio.h>
int main(){ int n, mark; scanf("%d %d", &n, &mark); int i, a[n]; for(i = 0; i < n; i++){ scanf("%d", &a[i]); } int check = 0; for(i = n-1; i >= 0; i--){ if(a[i] == mark){ printf("%d", i); check = 1; break; } }
} em làm như này ko biết sai chỗ nào mà ko đc full testcase ạ
include <bits/stdc++.h>
define N 2000001
using namespace std; int n,x, a[N+1]; int main() { cin >> n>>x; bool check= false; for( int i=0;i < n;i++) cin>> a[i]; for( int i=n-1;i >=0; i--){ if( a[i]==x){ cout << i; check=true; break; } } if(!check) cout <<-1; return 0; } sai ở mô mà ko được full test nhỉ ae