Cod sursa(job #1814702)

Utilizator raulmuresanRaul Muresan raulmuresan Data 24 noiembrie 2016 13:11:36
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>
#include<vector>
#include<string>
#define modulo 666013

using namespace std;

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


string sir;
int i, n, k, j,contor,st,dr,x,y,A,B;
long long int sol;
int w[500009], s[500009];
int frec[100009];


int main()
{
    fin >> n >> k >> A >> B;
    for(i = 1; i <= n; i++)
    {
        fin >> w[i];
        w[i] = w[i] % k;
        s[i] = (s[i - 1] + w[i]) % k;
        //fout << w[i]<<" ";
    }


    for(i = 1; i <= n; i++)
    {
        if(i >= A)
        {
            frec[s[i - A]]++;
        }
        if(i > B)
        {
            frec[s[i - B - 1]]--;
        }
        sol = sol + frec[s[i]];
    }
    fout << sol <<"\n";



}