QH_165 - ĐOẠN CON

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: DOANCON.INP
Output: DOANCON.OUT

Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

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


Bình luận

Please read the guidelines before commenting.



  • 0
    ToiNhoDuongThanhThao  đã bình luận lúc 8, Tháng 6, 2026, 8:14

    include <iostream>

    include <vector>

    using namespace std;

    const int MAXN = 1000005; long long P[MAXN]; int cnt[MAXN];

    int main() { iosbase::syncwith_stdio(false); cin.tie(NULL);

    if (freopen("DOANCON.INP", "r", stdin) && freopen("DOANCON.OUT", "w", stdout)) {
        // File opened successfully
    }
    
    int n, k;
    long long S;
    if (!(cin >> n >> k >> S)) return 0;
    
    P[0] = 0;
    for (int i = 1; i <= n; ++i) {
        long long a;
        cin >> a;
        P[i] = P[i - 1] + a;
    }
    
    long long ans = 0;
    int ptr = 0;
    
    for (int i = 1; i <= n; ++i) {
        while (ptr < i && P[i] - P[ptr] >= S) {
            cnt[ptr % k]++;
            ptr++;
        }
        ans += cnt[i % k];
    }
    
    cout << ans << "\n";
    
    return 0;
    

    }