trang chủ / bài tập / luckyarr

Dãy số may mắn

Đề bài

Mô tả

Một số nguyên dương được gọi là số may mắn nếu biểu diễn thập phân của nó chỉ gồm các chữ số 47. Ví dụ: 47, 744, 4 là số may mắn; còn 5, 17, 467 thì không.

Cho một dãy gồm n số nguyên dương. Bạn cần thực hiện m thao tác thuộc hai loại:

  • add l r d — cộng thêm d vào mọi phần tử có chỉ số trong đoạn [l,r].
  • count l r — đếm xem trong đoạn [l,r] có bao nhiêu phần tử là số may mắn. Mỗi vị trí được tính riêng, nên nếu cùng một số may mắn xuất hiện ở nhiều vị trí thì nó được đếm nhiều lần.

Dữ liệu đảm bảo rằng sau khi thực hiện tất cả các thao tác add, không phần tử nào của dãy vượt quá 104.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm — số phần tử của dãy và số thao tác.
  • Dòng thứ hai chứa n số nguyên dương, mỗi số không vượt quá 104.
  • m dòng tiếp theo, mỗi dòng chứa một thao tác theo đúng định dạng add l r d hoặc count l r.

Dữ liệu ra

Với mỗi thao tác loại count, in ra trên một dòng riêng số lượng số may mắn trong đoạn tương ứng.

Ràng buộc

  • 1n,m105
  • 1lrn
  • 1d104
  • Mỗi phần tử ban đầu không vượt quá 104, và sau tất cả các thao tác add cũng không vượt quá 104.

Ví dụ

Input Output Giải thích
3 6
2 3 4
count 1 3
count 1 2
add 1 3 2
count 1 3
add 2 3 3
count 1 3
1
0
1
1
Ban đầu dãy là 2 3 4, chỉ có 4 may mắn. Sau add 1 3 2 dãy thành 4 5 6, vẫn chỉ có 4. Sau add 2 3 3 dãy thành 4 8 9, đáp án vẫn là 1.
4 5
4 4 4 4
count 1 4
add 1 4 3
count 1 4
add 2 3 40
count 1 4
4
4
4
Cả 4 phần tử đều bằng 4. Sau add 1 4 3 dãy thành 7 7 7 7, cả 4 vẫn may mắn. Sau add 2 3 40 dãy thành 7 47 47 7, và 47 cũng là số may mắn.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0