Cod sursa(job #2368359)

Utilizator ardutgamerAndrei Bancila ardutgamer Data 5 martie 2019 15:42:36
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;

const int NMAX = 500005;
int sp[NMAX];
int f[100005];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    ifstream cin("divk.in");
    ofstream cout("divk.out");
    int n=0;
    long long sol=0;
    cin >> n;
    int k , a , b , x;
    cin >> k >> a >> b;
    for(int i = 1 ; i <= n ; i++)
    {
        cin >> x;
        sp[i] = sp[i-1]+x;
        sp[i] %= k;
        if(i >= a)
            f[sp[i-a]]++;
        if(i >= b+1)
            f[sp[i-b-1]]--;
        sol += f[sp[i]];
    }
    cout << sol;
    return 0;
}