Cod sursa(job #609457)
| Utilizator | Data | 21 august 2011 14:48:48 | |
|---|---|---|---|
| Problema | Divk | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <fstream>
using namespace std;
const int N=500001,M=100001;
int v[N],nr[M],n,k;
ifstream in("dik.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;
}
