Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

HVTACMG - Xâu con

Một xâu gọi là xâu nhị phân nếu chỉ chứa hai ký tự “0” hoặc “1”

Xâu v gọi là xâu con của w nếu xâu v có độ dài khác 0 và gồm các ký tự liên tiếp trong xâu w. Ví dụ: xâu “010” có các xâu con là “0”, “1”, “0”, “01”, “10”, “010”.

Cho trước một giá trị k, hãy đếm xem có bao nhiêu xâu con chứa đúng k ký tự “1”

 

Input

  • Dòng 1 chứa một số nguyên k (0 <= k <= 106)
  • Dòng 2 chứa một xâu nhị phân có độ dài <= 106

Output

  • Một số nguyên duy nhất là kết quả tìm được.

Example

Input:

2

01010 Output: 4
Input:
0
01010

Output:
3

Được gửi lên bởi:Vương Trung Hiếu Nghĩa
Ngày:2014-07-20
Thời gian chạy:1s-2s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG JAVA PAS-GPC PAS-FPC
Nguồn bài:sưu tầm

hide comments
2020-08-15 10:01:31
any ideas ?
2016-12-27 10:37:04
- Gọi F[i] = số ký tự '1' từ vị trí s[1] đến vị trí s[i]
- F[0]=0
- Dem[i] = số giá trị i sao cho F[j] = i ( 0<=j<=length(s) )
- Đối với vị trí c, tìm số giá trị của F[d] sao cho F[c] – k = F[d] SUY RA kqua = kqua + dem[F[c]–k]
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.