Cod sursa(job #2462687)

Utilizator rares404AlShaytan - Balasescu Rares rares404 Data 27 septembrie 2019 18:52:04
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.43 kb
#include <bits/stdc++.h>
std::ifstream in("divk.in");
std::ofstream out("divk.out");
int v[500005];
int sp[500005];
int f[100005];
int main(){
  int n,k,a,b,i;
  in>>n>>k>>a>>b;
  for (i=1;i<=n;++i){
    in>>v[i];
    sp[i]=(sp[i-1]+v[i])%k;}
  long long ans(0);
  for (i=a;i<=b;++i) {
    f[sp[i-a]]++;
    ans+=1ll*f[sp[i]];}
  int lst=1;
  for (;i <= n;++i){
    f[sp[i-a]]++;
    f[sp[i-b-1]]--;
    ans+=1ll*f[sp[i]];}
  out<<ans;}