Cod sursa(job #1896313)

Utilizator RaresEGaySopterean Adrian RaresEGay Data 28 februarie 2017 16:46:29
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>
#include <iostream>
#define maxn 500001
#define INF 0x3f3f3f3f
using namespace std;

int n, k, a, b;
int r[maxn], v[maxn];
long long sol;

ifstream f("divk.in");
ofstream g("divk.out");

int main(){

    f >> n >> k >> a >> b;

    for(int i = 1; i <= n; ++i){
        f >> r[i];
        r[i] = (r[i-1] + r[i])%k;
    }

    for(int i = a; i <= n; ++i){
        v[r[i-a]]++;
        if(i > b) v[r[i-b-1]]--;
        sol += v[r[i]]  ;
    }
    g << sol << '\n';

}