Cod sursa(job #1129512)
| Utilizator | Data | 27 februarie 2014 22:50:17 | |
|---|---|---|---|
| Problema | Divk | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <iostream>
#include <fstream>
using namespace std;
int n,k,v[500001],a,b,i,x,q[500001],j,nr;
long long s;
int main()
{
ifstream f("divk.in");
ofstream g("divk.out");
f>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{
f>>x;
s=x+v[i-1];
v[i]=s%k;
}
for(i=a;i<=b;i++)q[v[i]]++;
j=b;
for(i=b;i<=n;i++)
{
if(q[v[i]]>=a)nr=nr+q[v[i]]-a+1;
if(v[i]==0)nr++;
q[v[j]]--;j=i;
q[v[i+1]]++;
}
g<<nr;
f.close();
g.close();
}
