Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho mảng A[] gồm N phần tử, bạn hãy kiểm tra xem giá trị X có xuất hiện trong mảng không?
Gợi ý : Dùng mảng đánh dấu để mỗi test case chỉ mất O(1) thay vì tìm kiếm tuyến tính sẽ mất O(N)
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số trong mảng viết cách nhau 1 dấu cách
Dòng 3 là T : Số test case
T dòng tiếp theo mỗi dòng là số nguyên X
Giới hạn
1<=N<=10^6
0<=A[i]<=10^7
1<=T<=10^4
0<=X<=10^7
Đầu ra
Đối với mỗi test case in ra YES nếu X xuất hiện trong mảng, ngược lại in NO.
Ví dụ :
Input 01
9
2 41 21 28 27 3 49 22 2
5
3
27
15
15
19
Output 01
YES
YES
NO
NO
NO
Bình luận
co cai chem chep
bạn cho mình hỏi code này của mình sao lại TLE ạ?
include <stdio.h>
include <math.h>
int dem[1000001]; int ba(int a[],int n,int x){ int max=-1e9,cnt=0; for(int i=0;i<n;++i){ if(a[i]==x){ dem[a[i]]=1; if(a[i]>max){ max=a[i]; }
} int main(){ int n; scanf("%d",&n); int a[n]; for(int i=0;i<n;++i){ scanf("%d",&a[i]); } int t; scanf("%d",&t); int x; for(int i=1;i<=t;++i){ scanf("%d",&x); if(ba(a,n,x)){ printf("YES\n"); }else{ printf("NO\n"); } } }
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.