Pagini recente » Borderou de evaluare (job #1195126) | Borderou de evaluare (job #1140856) | Borderou de evaluare (job #2594172) | Borderou de evaluare (job #3324365) | 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;
}