Cod sursa(job #767269)

Utilizator bratualexBratu Alexandru bratualex Data 13 iulie 2012 01:52:00
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>

using namespace std;

int v[500007],m[3][500007];
int main()
{
    FILE * pFile,*pFo;

    pFile = fopen ("divk.in","r");
    pFo = fopen ("divk.out","w");
    int n,a,b,k,i,nr,j,rest=0;
    fscanf(pFile,"%d%d%d%d",&n,&k,&a,&b);
    nr=0;
    for (i=1;i<=n;i++)
    {
        fscanf(pFile,"%d",&v[i]);
        for (j=a;j<=i;j++)
        {
            if ( j==2 )
                rest=(v[i-1]+v[i])%k;
            else
                rest=(m[!(i%2)][j-1]+v[i])%k;
            if(!rest&&j>=a&&j<=b)
                nr++;
            m[i%2][j]=rest;
        }
    }
    fprintf(pFo,"%d",nr);

    return 0;
}