Cod sursa(job #63766)

Utilizator cos_minBondane Cosmin cos_min Data 30 mai 2007 21:27:51
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
using namespace std;

#define in "divk.in"
#define out "divk.out"
#define dim 500000

int S[dim+1], V[dim/5+1];
int A, B, K, N;

int main()
{
    freopen(in,"r",stdin);
    freopen(out,"w",stdout);
    
    int sum = 0;
    scanf("%d%d%d%d", &N, &K, &A, &B);
    
    for ( int i = 1; i <= N; i++ ) scanf("%d", &S[i]);
    
    for ( int i = 1; i <= A; i++ )
    {
        int t = S[i]%K;
        V[t] += 1;
    }
    
    for ( int i = B; i <= N; i++ )
    {
        int t1 = S[i-B+1]%K;
        int t2 = S[i-A+2]%K;
        int t3 = S[i]%K;
        
        V[t1] -= 1;
        V[t2] += 1;
        
        sum += V[t3];
    }
    
    printf("%d", sum);
}