Cod sursa(job #1852417)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 20 ianuarie 2017 19:41:54
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
const int maxn = 500005;
long long v[maxn];
int fr[maxn];

int main()
{
    int n, k, a, b;
    in >> n >> k >> a >> b;
    for(int i = 1; i <= n; i++)
    {
        in >> v[i];
        v[i] = (v[i - 1] + v[i]) % k;
    }
    long long T = 0;
    for(int i = 1; i <= n; i++)
    {
        if(i >= a)
            fr[v[i - a]]++;
        if(i > b)
            fr[v[i - b - 1]]--;
        T = T + fr[v[i]];
    }
    out << T << "\n";
    return 0;
}