Cod sursa(job #2464568)

Utilizator AlexNicuNicu Alexandru AlexNicu Data 28 septembrie 2019 16:25:18
Problema Divk Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#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;
}