Trò chơi (HSG11-2023, Hà Tĩnh)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Đức là một học sinh giỏi môn tin học, vừa kết thúc kỳ thi VNOI với bài làm khá ấn tượng nên bạn tự thưởng cho mình bằng một trò chơi với máy tính. Có một dãy số \(A\) gồm \(n\) số nguyên \(a_1, a_2, ..., a_n\), mỗi lần chơi, máy tính sinh ra một số nguyên ngẫu nhiên \(x\). Yêu cầu trong khoảng thời gian ngắn nhất Đức có thể trả lời câu hỏi là số nguyên \(x\) có xuất hiện trong dãy \(A\) hay không. Nếu có hãy cho biết vị trí của số nguyên \(x\) trên dãy \(A\) (nếu có nhiều số bằng \(x\) thì đưa ra chỉ số của số đầu tiên xuất hiện trong dãy) hoặc đưa ra -1 nếu số nguyên \(x\) không tồn tại trên dãy \(A\) đó. Có tất cả \(T\) lần chơi.

Yêu cầu: Đếm số lần Đức tìm được \(x\) trên dãy số và số lần \(x\) không xuất hiện trên dãy số A đó.

Input

  • Dòng đầu tiên ghi số nguyên dương \(n\) (\(n \leq 10^5\))
  • Dòng thứ 2 ghi \(n\) số nguyên \(a_1, a_2, ..., a_n\) (\(|a_i| \leq 10^9\), \(\forall i = 1,2,...,n\))
  • Dòng thứ 3 ghi số nguyên dương \(T\) (\(T \leq 10^5\))
  • \(T\) dòng tiếp theo mỗi dòng ghi số nguyên \(x\) (\(|x| \leq 10^9\))

Các số trên cùng một dòng cách nhau bởi dấu cách.

Output

  • Ghi ra \(T + 1\) dòng:
    • Dòng thứ \(i\) ghi vị trí số nguyên \(x\) tương ứng trên dãy \(A\) hoặc ghi ra -1 nếu giá trị \(x\) không tồn tại trên dãy
    • Dòng cuối cùng ghi 1 nếu số lần \(x\) xuất hiện trong dãy \(A\) trong T lần chơi nhiều hơn số lần \(x\) không xuất hiện. Ghi -1 nếu ngược lại và ghi 0 nếu bằng nhau

Scoring

  • Có 40% số test ứng với 40% số điểm thỏa mãn: các số trong dãy \(A\) đôi 1 khác nhau và \(A\) là dãy tăng, \(T \leq 10^2\)
  • 30% số test ứng với 30% số điểm thỏa mãn: các số trong dãy \(A\) đôi 1 khác nhau, \(T \leq 10^4\)
  • 30% số test còn lại ứng với 30% số điểm không có ràng buộc gì thêm

Example

Test 1

Input
5
1 2 3 4 8
4
2
7
6
8
Output
2
-1
-1
5
0
Note

Có 2 lần số \(x\) xuất hiện trong dãy A và 2 lần không xuất hiện.

Test 2

Input
6
-1 4 2 7 -6 2
3
2
5
-6
Output
3
-1
5
1
Note

Có 2 lần số \(x\) xuất hiện trong dãy A và 1 lần không xuất hiện.

Bình luận (4)

Mới nhất
Tải bình luận...