Cod sursa(job #2408194)

Utilizator adimiclaus15Miclaus Adrian Stefan adimiclaus15 Data 17 aprilie 2019 18:26:43
Problema Divk Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int n,k,a,b,x,s;
vector <int> v[100005];
int Count(int d)
{
    int i,j,p,nr;
    nr=0;
    for(p=0;p<k;p++)
    {
        j=0;
        for(i=0;i<v[p].size();i++)
        {
            while(j<v[p].size() && v[p][j]-v[p][i]<=d)
            {
                j++;
            }
            nr=nr+j-i-1;
        }
    }
    return nr;
}
int main()
{
    int i;
    f>>n>>k>>a>>b;
    v[0].push_back(0);
    for(i=1;i<=n;i++)
    {
        f>>x;
        s=(s+x)%k;
        v[s].push_back(i);
    }
    g<<Count(b)-Count(a-1);
    return 0;
}