Cod sursa(job #1424355)

Utilizator retrogradLucian Bicsi retrograd Data 24 aprilie 2015 09:03:36
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
#include<vector>
#include<algorithm>
#include<cstring>

using namespace std;
typedef int64_t var;

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

#define MAXN 500002

var V[MAXN];
var n, k;
var Count[100000];
var SUM[MAXN];

var Solve(var a) {
    memset(Count, 0, sizeof(Count));
    Count[0] = 1;
    var sol = 0;
    for(var i=a, j=1; i<=n; i++, j++) {
        sol += Count[SUM[i]%k];
        Count[SUM[j]%k]++;
    }
    return sol;
}


int main() {

    var a, b;
    fin>>n>>k>>a>>b;

    for(var i=1; i<=n; i++) {
        fin>>SUM[i];
        SUM[i] += SUM[i-1];
    }

    fout << Solve(a) - Solve(b+1);

    return 0;
}