Cod sursa(job #988607)

Utilizator DorelBarbuBarbu Dorel DorelBarbu Data 23 august 2013 14:04:47
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <stdio.h>
#include <cstring>
#define MAX_N 500005
using namespace std;
int n,k,a,b,v[MAX_N], d[100][100];
void citire()
{
    freopen("divk.in","r",stdin);
    scanf("%d %d %d %d",&n,&k,&a,&b);
    int i;
    for(i=1; i<=n; ++i) scanf("%d",&v[i]);
    //for(i=1; i<=n; ++i) printf("%d ", v[i]);
}
int dinamica()
{
    int i,j,answer=0;

    for(i=1; i<=n; i++)
    {
        d[1][i]=d[1][i-1]+v[i];
        if(d[1][i]%k==0 && a<=i && i<=b) answer++;
    }

    for(i=2; i<=n; i++)
    for(j=i; j<=n; j++)
    {
        d[i][j]=d[1][j]-d[1][(i-1)];
        if(d[i][j]%k==0 && a<=j-i+1 && j-i+1<=b) answer++;
    }

    //cout<<answer<<endl;
    return answer;

}
int main()
{
    freopen("divk.out","w",stdout);
    citire();
    printf("%d",dinamica());
    return 0;
}