Cod sursa(job #1200762)

Utilizator hrazvanHarsan Razvan hrazvan Data 23 iunie 2014 15:13:27
Problema Divk Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#define MAXN 500000

int main(){
  FILE *in = fopen("divk.in", "r");
  int n, k, a, b, v[MAXN];
  fscanf(in, "%d%d%d%d", &n, &k, &a, &b);
  int i, j;
  long long sum = 0;
  for(i = 0; i < n; i++){
    fscanf(in, "%d", &v[i]);
    if(i < a) sum += v[i];
  }
  fclose(in);
  int nextsum = sum, rez = 0;
  for(i = 0; i <= n - a; i++){
    sum = nextsum;
    for(j = i + a - 1; j <= i + b - 1; j++){
      sum += v[j];
      if(j == i + a)  nextsum = sum;
      if(sum % k == 0)  rez++;
    }
  }
  FILE *out = fopen("divk.out", "w");
  fprintf(out, "%d", rez);
  fclose(out);
  return 0;
}