Cod sursa(job #1098998)

Utilizator alin.18Chedea Alin alin.18 Data 5 februarie 2014 13:53:57
Problema Divk Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream cin ("divk.in");
ofstream cout ("divk.out");
int n,k,a,b;
long long solutie , v[30001],sol[30001],nr[30001];
int main ()
{
    int i;
    cin>>n>>k>>a>>b;
    for (i=1;i<=n;i++)
    {
        cin>>v[i];
        sol[i]=(sol[i-1]+v[i])%k;
        
        if(i>b)
        --nr[sol[i-b-1]];
        
        if (i>=a)
        ++nr[sol[i-a]];
        
        solutie+=nr[sol[i]];
    }
    cout<<solutie;
    cin.close();
    cout.close();
    return 0;
}