Cod sursa(job #609459)
| Utilizator | Data | 21 august 2011 14:51:11 | |
|---|---|---|---|
| Problema | Divk | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
using namespace std;
const int N=500001,M=100000;
int v[N],nr[M],n,k;
long long R;
ifstream in("divk.in");
ofstream out("divk.out");
int main()
{
int i,a,b;
in>>n>>k>>a>>b;
for (i=1;i<=n;i++)
{
in>>v[i];
v[i]=(v[i-1]+v[i])%k;
}
for (i=a;i<=n;i++)
{
if (b<i)
nr[v[i-b-1]]--;
nr[v[i-a]]++;
R+=nr[v[i]];
}
out<<R<<"\n";
return 0;
}
