Truy vấn 3
Tên file chương trình truyvan3.*
Cho một dãy A gồm n số tự nhiên a1, a2, …, an có giá trị từ 1 đến n, dãy B gồm n số tự nhiên b1, b2, …, bn có giá trị từ n+1 đến 2n. Dãy C gồm nn số được hình thành từ dãy A và B như sau:
c11=a1+b1, c12 = a1+b2, …, c21 = a2+b1, c22 = a2+b2, …, cnn = an+bn
Yêu cầu: có k truy vấn, mỗi truy vấn là một số nguyên dương q yêu cầu xác định xem có bao giá trị bằng q trong dãy C.
Dữ liệu vào: Cho trong file văn bản TRUYVAN3.INP có cấu trúc như sau:
➢ Dòng đầu ghi 2 số nguyên dương n và k (n ≤ 109 , k ≤ 104 ).
➢ k dòng tiếp theo mỗi dòng ghi 1 số nguyên dương q cho biết các truy vấn (q ≤ 3n). Kết quả: Ghi ra file văn bản TRUYVAN3.OUT gồm k dòng, mỗi dòng là kết quả của một truy vấn tương ứng.
Làm tạm :v
var n,k,i,j,dem:integer;
q,k2:Array[1..104] of integer;
C:Array[1..109] of integer;
begin
assign(input,'truyvan3.inp');
reset(input);
readln(n,k);
for i:=1 to k do read(q[i]);
close(input);
assign(output,'truyvan3.out');
rewrite(output);
for i:=1 to n do C[i]:=2*i+n;
for j:=1 to k do
begin
dem:=0;
for i:=1 to n do if C[i]=q[j] then dem:=dem+1;
k2[j]:=dem;
end;
for j:=1 to k do writeln(k2[j]);
close(output)
end.