Cod sursa(job #2633958)

Utilizator BogdanTicuTicu Bogdan Valeriu BogdanTicu Data 9 iulie 2020 13:18:33
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("divk.in");
ofstream out("divk.out");

long long v[500001],sp[500001],answer=0,k;
int fv[500001];

int main()
{
	int n,a,b;
	in>>n>>k>>a>>b;
	for(int i=1;i<=n;i++)
	{
		//citim vectorul si facem sume partiale in vector
		in>>v[i];
		sp[i]=sp[i-1]+v[i];
		sp[i]%=k;
	}
	for(int i=1;i<=n;i++)
	{
		if(i>=a) fv[sp[i-a]]++;
		if(i>b) fv[sp[i-b-1]]--;
		answer+=fv[sp[i]];
	}
	out<<answer;
	return 0;
}