Cod sursa(job #975628)

Utilizator narcis_vsGemene Narcis - Gabriel narcis_vs Data 20 iulie 2013 22:16:22
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>

#define In "divk.in"
#define Out "divk.out"
#define Kmax 100004
#define Nmax 500004
using namespace std;
int sum[Nmax], f[Kmax], n, l , r, MOD;
long long sol;
int main()
{
    int i, x;
    ifstream in(In);
    ofstream out(Out);
    in>> n >> MOD >> l >> r;
    for(i = 1;i <= n; ++i)
    {
        in>>x;
        sum[i] = (sum[i-1]+x)%MOD;
        if(i>r)
            --f[sum[i-r-1]];
        if(i>=l)
            ++f[sum[i-l]];
        sol += f[sum[i]];
    }
    out<<sol<<"\n";
    out.close();
    return 0;
}