Cod sursa(job #1184816)

Utilizator Andreiii500Andrei Puiu Andreiii500 Data 14 mai 2014 10:39:28
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
//#include<fstream>
#include<iostream>
#include<stdio.h>
using namespace std;

//ifstream in("divk.in");
//ofstream out("divk.out");

#define dim 100005
// Schimba-ma

/*void afisez(long long v[], long long n)
{
    long long i;
    for(i=1;i<=n;++i) cout<<v[i]<<" ";
    cout<<"\n";
}*/

int main()
{
    freopen("divk.in", "r", stdin);
    freopen("divk.out", "w", stdout);

    long long n,i,k,a,b,pas,n2,cnt;
    long long v[dim], s[dim];

    cin>>n>>k>>a>>b;
    for(i=1;i<=n;++i) cin>>v[i];

    s[0]=0;
    for(i=1;i<=n;++i) s[i]=(s[i-1]+v[i])%k;

    /*afisez(v, n);
    afisez(s, n);
    out<<"\n";*/

    cnt=0;
    for(pas=a; pas<=b; ++pas)
    {
        n2=n-pas;
        for(i=0;i<=n2;++i)
            if(s[i] == s[i+pas])
            {
                //out<<i+1<<" "<<i+pas<<"\n";
                ++cnt;
            }
    }
    cout<<cnt<<"\n";

    return 0;
}