Cod sursa(job #2053134)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 31 octombrie 2017 15:42:54
Problema Divk Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <fstream>
using namespace std;
ifstream cin("divk.in");
ofstream cout("divk.out");
long long ap[100005],n,k,a,b,v[500005],s;
int main()
{
    cin>>n>>k>>a>>b;
    for(int i=1;i<=n;i++)
    {
        cin>>v[i];
        v[i]=(v[i-1]+v[i])%k;
    }
    for(int i=1;i<=a;i++)
        ap[v[i]]++;
    for(int i=a+1;i<=n;i++)
    {
        if(i>b)
            ap[v[i-b]]--;
        s+=ap[v[i]];
        ap[v[i]]++;
    }
    cout<<s;
    return 0;
}