Pagini recente » Cod sursa (job #1814261) | Cod sursa (job #2147478) | Cod sursa (job #1726013) | Cod sursa (job #337165) | Cod sursa (job #3147344)
#include <fstream>
using namespace std;
ifstream cin ("divk.in");
ofstream cout ("divk.out");
int sir[500001] , aparitii[500000];
int main ()
{
int lungime_totala , mod , minim , maxim;
cin >> lungime_totala >> mod >> minim >> maxim;
long long secvente = 0;
for (int indice = 1 ; indice <= lungime_totala ; indice++)
{
cin >> sir[indice];
(sir[indice] += sir[indice - 1]) %= mod;
if (minim <= indice)
aparitii[sir[indice - minim]]++;
secvente += aparitii[sir[indice]];
if (maxim <= indice)
aparitii[sir[indice - maxim]]--;
}
cout << secvente;
cout.close(); cin.close();
return 0;
}