Cod sursa(job #3202795)
Utilizator | Data | 12 februarie 2024 11:36:25 | |
---|---|---|---|
Problema | Divk | Scor | 50 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
long long n,k,a,b,s[100001],i,m,fr[100001],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;
}