Cod sursa(job #2345216)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 15 februarie 2019 23:25:38
Problema Divk Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<bits/stdc++.h>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
const int NR = 500002 ;
int n , k , a , b , s [ NR ] , v [ 100002 ] ,ans ;
int main()
{
    in >> n >> k >> a >> b ;
    for ( int i = 1 ; i <= n ; ++ i )
    {
        int x ;
        in >> x ;
        s[ i ] = ( s[ i - 1 ] + x ) % k ;
        if ( i >= a )
        v [ s [ i - a ] ] ++ ;
        if ( i >= b + 1 )
        v [ s [ i - b - 1 ] ] -- ;
        ans += v [ s [ i ] ] ;
    }
    out << ans ;
}