Cod sursa(job #733522)
| Utilizator | Data | 12 aprilie 2012 13:09:14 | |
|---|---|---|---|
| Problema | Divk | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
/*
void citire(int a, int v[])
{
fin>>a;
for(int i=1;i<=a;i++)fin>>v[i];
}
void afis(int n, int v[])
{
for(int i=1;i<=n;i++)fout<v[i]<" ";
}
*/
long x,a,b,n,k,i,v[500002],uz[100002];
int s;
int main(){
fin>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{
fin>>x;
v[i]=(v[i-1]+x)%k;}
for(i=a;i<=n;i++){
uz[v[i-a]]++;
if(i>b)
uz[v[i-b-1]]--;
s+=uz[v[i]];}
fout<<s;
}
