Pagini recente » Cod sursa (job #2339468) | Cod sursa (job #2603756) | Cod sursa (job #3135845) | Cod sursa (job #2093566) | Cod sursa (job #1307842)
#include<fstream>
using namespace std;
ifstream fin( "divk.in" );
ofstream fout( "divk.out" );
const int nmax = 500000;
const int kmax = 100000;
int s[ nmax + 1 ], f[ kmax ];
int main() {
int n, a, b, k, x;
long long sol;
fin >> n >> k >> a >> b;
for( int i = 1; i <= n; ++ i ) {
fin >> x;
s[ i ] = ( s[i - 1] + x ) % k;
}
sol = 0;
for( int i = 1; i <= n; ++ i ) {
if ( i - a >= 0 ) {
++ f[ s[ i - a ] ];
}
if ( i - b > 0 ) {
-- f[ s[ i - b - 1 ] ];
}
sol += f[ s[ i ] ];
}
fout << sol << "\n";
fin.close();
fout.close();
return 0;
}