Cod sursa(job #3202685)

Utilizator ThomasPGeorg Popescu ThomasP Data 12 februarie 2024 10:29:34
Problema Divk Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;

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

int v[500001];

int main()
{
    int n,k,a,b;
    in>>n>>k>>a>>b;
    for(int i=1;i<=n;i++){
      in>>v[i];
    }
    for(int i=1;i<=n;i++){
      v[i]= ( v[i] + v[i-1] ) % k;
    }
    int cnt=0;
    int st=1,dr=1;
    while(st<=n){
        if(v[dr]==v[st-1] && (dr-st+1) >= a && (dr-st+1)<= b ){
          cnt++;
        }
        dr++;
        if(dr>n) {
          st++;
          dr=st;

        }
    }
    out<<cnt;
    return 0;
}