Pagini recente » Cod sursa (job #2406238) | Cod sursa (job #2682997) | Cod sursa (job #2968952) | Cod sursa (job #2806427) | Cod sursa (job #2464568)
#include <fstream>
#include <algorithm>
using namespace std;
int v[500001], sp[500001];
ifstream cin ( "divk.in" );
ofstream cout ( "divk.out" );
int main()
{
int n, k, a, b, i, p1, p2, cnt;
cin >> n >> k >> a >> b;
for ( i = 0; i < n; i++ ) {
cin >> v[i];
}
sp[0] = v[0];
for ( i = 1; i < n; i++ ) {
sp[i] = ( sp[i - 1] + v[i] ) % k;
}
p1 = 0;
p2 = a - 1;
cnt = 0;
while ( p2 < n ) {
if ( sp[p2] == sp[p1] )
cnt++;
p2++;
if ( p2 - p1 + 1 > b ) {
p1++;
p2 = p1 + ( a - 1 );
}
}
cout << cnt;
return 0;
}