Bài 4. Đếm số (2 điểm)
Cho dãy A gồm 𝑛 số nguyên 1 2 n
a,a ,…,avà một số nguyên dương x. Cho 𝑞 truy vấn có dạng 𝑙,𝑟.
Yêu cầu: Với mỗi truy vấn 𝑙,𝑟 hãy đếm số lượng các số có giá trị dương và nhỏ hơn 𝑥 từ phần
tử thứ 𝑙 đến phần tử thứ 𝑟 của dãy số A.
Dữ liệu: Vào từ file văn bản COUNT.INP có cấu trúc: - Dòng thứ nhất ghi 3 số nguyên dương , , nxq( ); 5 1 n,x,q 10 - Dòng thứ hai ghi 𝑛 số nguyên 1 2 n
a,a ,…,a , số thứ 𝑖 có giá trị là i
a 5 (1 ,| | 10); i
i n a - 𝑞 dòng tiếp theo, mỗi dòng chứa hai số nguyên dương 𝑙,𝑟 5 (1 10). l r
Các số trên cùng một dòng ghi cách nhau một dấu cách.
Kết quả: Ghi ra file văn bản COUNT.OUT gồm 𝑞 dòng, mỗi dòng ghi một số nguyên là kết quả
tìm được tương ứng với mỗi truy vấn.
Ràng buộc:
• Có 50% số test ứng với 50% số điểm có 𝑞=1;
• 50% số test còn lại ứng với 50% số điểm không có ràng buộc gì thêm.
Ví dụ:
COUNT.INP COUNT.OUT GIẢI THÍCH
9 6 2
8 -1 6 5 -2 7 -3 4 -8
1 6
4 9
1
2 - Đoạn từ phần tử thứ 1 đến phần tử thứ 6 có
1 số là số dương và nhỏ hơn 6 là số 5. - Đoạn từ phần tử thứ 4 đến phần tử thứ 9 có
2 số là số dương và nhỏ hơn 6 là số 5 và số 4.
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<b;i++) #define int long long signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, x, q; cin >> n >> x >> q; vector<int> a(n), p(n+1,0); rep(i,0,n) cin >> a[i]; rep(i,1,n+1) p[i] = p[i-1] + ((a[i-1] > 0 && a[i-1] < x) ? 1 : 0); while(q--){ int l, r; cin >> l >> r; cout << p[r] - p[l-1] << "\n"; } return 0; }
Hãy giúp mọi người biết câu trả lời này thế nào?
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=a;i<b;i++)
#define int long long
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, x, q;
cin >> n >> x >> q;
vector<int> a(n), p(n+1,0);
rep(i,0,n) cin >> a[i];
rep(i,1,n+1) p[i] = p[i-1] + ((a[i-1] > 0 && a[i-1] < x) ? 1 : 0);
while(q--){
int l, r;
cin >> l >> r;
cout << p[r] - p[l-1] << "\n";
}
return 0;
}
`Th ủy
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
18
1975
9
ủa này là bài thực hành mà bạn?