Cod sursa(job #974046)

Utilizator superman_01Avramescu Cristian superman_01 Data 16 iulie 2013 13:06:03
Problema Divk Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
 
#define NMAX 500005
#define KMAX 100005
 
using namespace std;
 
ifstream f("divk.in");
ofstream g("divk.out");
 
int sum[NMAX];
int ap[KMAX];
int N,K,a,b,Ans;
 
int main ( void )
{
    f>>N>>K>>a>>b;
    for( int i(1) ; i <= N ; ++i )
    {
        int x;
        f>>x;
        sum[i]=(sum[i-1]+x) % K;
    }
    for( int i(1) ; i <= N ; ++i )
    {
        if( i  >=a )
            ++ap[sum[i-a]];
         
        if( i > b)
            --ap[sum[i-b+1]];
        Ans+=ap[sum[i]];
    }
    g<<Ans;
    f.close();
    g.close();
    return 0;
}