Cod sursa(job #1184815)

Utilizator Andreiii500Andrei Puiu Andreiii500 Data 14 mai 2014 10:36:26
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>
using namespace std;

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

#define dim 500005
// asdf

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

int main()
{
    long long n,i,k,a,b,pas,n2,cnt;
    long long v[dim], s[dim];

    in>>n>>k>>a>>b;
    for(i=1;i<=n;++i) in>>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;
            }
    }
    out<<cnt<<"\n";

    return 0;
}