Cod sursa(job #2219568)

Utilizator Ioana_GaborGabor Ioana Ioana_Gabor Data 9 iulie 2018 13:03:56
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb

#include <iostream>
#include <fstream>

using namespace std;

int frecventa[100002],sir[500002];

int main() {
    ifstream f("divk.in");
    ofstream g("divk.out");
    int n,a,b,k,x;
    long long contor=0;
    sir[0]=0;
    f>>n>>k>>a>>b;
    for(int i=1;i<=n;i++) {
        f>>x;
        sir[i]=(sir[i-1]+x%k)%k;
        if(i>=a) {
            frecventa[sir[i-a]]++;
        }
        if(i>=b+1) {
            frecventa[sir[i-b-1]]--;
        }
        contor=contor+frecventa[sir[i]];
    }
    g<<contor;
    f.close();
    g.close();
}