[Vĩnh Phúc - TS10 - 2025] Bài 4: Chọn

Xem dạng PDF

Gửi bài giải


Điểm: 55,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Gần nhà Bờm có một ga tàu điện. Tại ga này, hàng ngày, chuyến tàu đầu tiên sẽ dừng đón khách tại thời điểm ~T_0~, chuyến thứ hai dừng đón khách tại thời điểm ~T_0 + D~, chuyến thứ ba dừng tại thời điểm ~T_0 + 2 \times D~, ... Có ~N~ hành khách thường xuyên chờ tàu điện tại ga. Hành khách thứ ~i~ đến ga tàu tại thời điểm ~s_i~ và sẽ lên chuyến tàu đầu tiên đến ga ở thời điểm không sớm hơn ~s_i~.

Yêu cầu: Xác định số hiệu chuyến tàu điện của từng hành khách sẽ lên, giả sử thời gian lên xuống xe của mỗi hành khách là không đáng kể.

Input

  • Dòng thứ nhất chứa ba số nguyên ~N, D, T_0~ (~2 \le N \le 10^4~; ~1 \le D \le 10^4~; ~0 \le T_0 \le 10^5~);
  • Dòng thứ hai chứa ~N~ số nguyên ~s_1, s_2, \dots, s_N~ (~0 \le s_i \le 10^6~).

Output

  • Gồm một dòng chứa ~N~ số nguyên, số thứ ~i~ là số hiệu chuyến tàu điện mà hành khách thứ ~i~ sẽ lên.

Sample Input 1

3 5 8 0 15 23

Sample Output 1

1 3 4


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    Quang_AnhS  đã bình luận lúc 24, Tháng 11, 2025, 13:57

    include <bits/stdc++.h>

    using namespace std; const int N=2e6+7; bool b[N]; long long a[N],c[N];

    int main() { iosbase::syncwith_stdio(false);cin.tie(NULL); long long n;cin>>n; fill(b,b+N,true); for(int i=1; i<=n;++i) { cin>>a[i]; b[a[i]]=false; } sort(a+1,a+1+n); int d=0; for(int i=1; i<=2*n;++i) { if(b[i]==true) { ++d; c[d]=i; } } long long kq=0; int j=1; for(int i=1; i<=n;++i) { if(a[i]>c[j]) { ++kq; ++j; } } cout<<kq; return 0; }