Cod sursa(job #1925878)

Utilizator razvan171514Razvan Mihai razvan171514 Data 13 martie 2017 19:52:34
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
#include <iostream>
#define maxn 500001
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';
 
}