Cod sursa(job #1942996)
Utilizator | Data | 28 martie 2017 12:16:06 | |
---|---|---|---|
Problema | Divk | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int N,K,A,B,V[500005],S[500005],R[100005],nr;
int main()
{
fin>>N>>K>>A>>B;
for(int i=1;i<=N;i++)
{
fin>>V[i];
S[i]=(S[i-1]+V[i])%K;
}
for(int i=A;i<=N;i++)
{
R[S[i-A]]++;
if(i>B)
R[S[i-B-1]]--;
nr=nr+R[S[i]];
}
fout<<nr;
return 0;
}