Cod sursa(job #1971566)
Utilizator | Data | 20 aprilie 2017 16:28:53 | |
---|---|---|---|
Problema | Divk | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <fstream>
using namespace std;
int s[500001],ap[500001];
int main()
{ int n,k,a,b,x,i;
long long nr=0;
ifstream f("divk.in");
ofstream g("divk.out");
f>>n>>k>>a>>b;
for (i=1;i<=n;++i) {
f>>x;
s[i]=(s[i-1]+x)%k;
}
for (i=a;i<=n;++i) {
++ap[s[i-a+1]];
if (i>b) ap[s[i-b]]--;
nr+=ap[s[i]];
}
g<<nr;
return 0;
}