Cod sursa(job #2476262)
| Utilizator | Data | 18 octombrie 2019 15:55:26 | |
|---|---|---|---|
| Problema | Divk | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int s[500001],sol[500001];
int n,a,b,k,x,i;
long long solutie;
int main()
{
f>>n>>k>>a>>b;
for(i=1; i<=n; i++)
{
f>>x;
s[i]=(s[i-1]+x)%k;
}
for(i=a; i<b; i++)
{
sol[s[i-a]]++;
solutie+=sol[s[i]];
}
for(; i<=n; i++)
{
sol[s[i-a]]++;
solutie+=sol[s[i]];
sol[s[i-b]]--;
}
g<<solutie<<'\n';
return 0;
}
