Cod sursa(job #3233781)

Utilizator MirceaDonciuLicentaLicenta Mircea Donciu MirceaDonciuLicenta Data 4 iunie 2024 20:50:45
Problema Divk Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;

int countDivisibleSubsequences(const vector<int>& arr, int A, int B, int K) {
    int n = arr.size();
    int count = 0;

    for (int i = 0; i < n; ++i) {
        int sum = 0;
        for (int j = i; j < n && j < i + B; ++j) {
            sum += arr[j];
            int length = j - i + 1;
            if (length >= A && length <= B && sum % K == 0) {
                ++count;
            }
        }
    }

    return count;
}

int main() {
    ifstream infile("divk.in");
    ofstream outfile("divk.out");

    int N, K, A, B;
    infile >> N >> K >> A >> B;

    vector<int> v(N);
    for (int i = 0; i < N; ++i) {
        infile >> v[i];
    }

    int result = countDivisibleSubsequences(v, A, B, K);
    outfile << result << endl;

    infile.close();
    outfile.close();

    return 0;
}