Mai intai trebuie sa te autentifici.
Cod sursa(job #1218203)
Utilizator | Data | 9 august 2014 22:51:59 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <fstream>
using namespace std;
#define nmax 500005
ifstream fi("divk.in");
ofstream fo("divk.out");
int S[nmax],V[nmax];
int main(void)
{
int n,k,i,x,a,b;
unsigned long long Sol=0;
S[0]=0;
for (fi>>n>>k>>a>>b,i=1;i<=n;fi>>x,S[i]=(S[i-1]+x)%k,++i);
for (int i=1;i<=n;++i)
{
if (i-a>=0) ++V[S[i-a]];
if (i-b>0) --V[S[i-b-1]];
Sol+=V[S[i]];
}
fo<<Sol<<"\n";
}