Pagini recente » Diferente pentru problema/fandoseala intre reviziile 8 si 9 | Atasamentele paginii Profil Moldovan Dan | simd | Monitorul de evaluare | Cod sursa (job #3202797)
#include <fstream>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
int n,k,a,b,s[500001],i,m,fr[100001];
long long t;
int main()
{
in>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{
in>>m;
s[i]=(s[i-1]+m)%k;
}
for(i=1;i<=n;i++)
{
if(i>=a)
{
fr[s[i-a]]++;
} t+=fr[s[i]];
if(i>=b)
{
fr[s[i-b]]--;
}
}
out<<t;
return 0;
}