Cod sursa(job #1327980)
Utilizator | Data | 27 ianuarie 2015 18:39:05 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include <fstream>
using namespace std;
ifstream f("divk.in"); ofstream g("divk.out");
int n,k,a,b,x,i;
long long nr;
int r[500002],fr[100002];
int main()
{ f>>n>>k>>a>>b;
for(i=1; i<=n; i++)
{f>>x; r[i]=(r[i-1]+x) % k;}
for(i=1; i<=n; i++)
{ if(a<=i) ++fr[r[i-a]];
if(b<i) --fr[r[i-b-1]];
nr+=fr[r[i]];
}
g<<nr<<"\n"; g.close(); return 0;
}