Cod sursa(job #1482370)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 6 septembrie 2015 23:23:41
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
#include <vector>
using namespace std;

int main(){
	ifstream f("divk.in");
	ofstream g("divk.out");
	int n, k, a, b;
	f >> n >> k >> a >> b;
	vector<int> s_part(n+1, 0);
	for(int i = 1; i <= n; ++i){
		f >> s_part[i];
		s_part[i] += s_part[i-1];
		s_part[i] %= k; }
	vector<int> nr_aparitii(k, 0);
	int rez = 0;
	for(int i = 1; i <= n; ++i){
		if(i - a >= 0){
			++nr_aparitii[s_part[i-a]]; }
		if(i - b - 1 >= 0){
			--nr_aparitii[s_part[i-b-1]]; }
		rez += nr_aparitii[s_part[i]]; }
	g << rez;
	return 0; }