Cod sursa(job #1536022)

Utilizator Andreiii500Andrei Puiu Andreiii500 Data 25 noiembrie 2015 16:15:08
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
#include<fstream>
using namespace std;

#define dim 500001

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

long long s[dim];
long long v[dim];
long long n,k,a,b;
long long sol;

int main()
{
    long long i,lung;

    in>>n>>k>>a>>b;

    for(i=1; i<=n; ++i) in>>v[i];

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

    //for(i=0; i<=n; ++i) cout<<s[i]<<" "; cout<<"\n";

    for(lung=a; lung<=b; ++lung)
        for(i=lung; i<=n; ++i)
            if(s[i] == s[i-lung])
                ++sol;
                //cout<<"Gasit pe "<<i<<"  lung="<<lung<<"\n";

    out<<sol;

    return 0;
}