Cod sursa(job #995845)

Utilizator otnielMercea Otniel otniel Data 10 septembrie 2013 12:55:07
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
using namespace std;
#include<stdio.h>
long long a,b,n,k,i,j,nr,nrfinal,z[500005],s[500005],m[500005],suma;
FILE *f,*g;
int main()
{
    f=fopen("divk.in","r");
    g=fopen("divk.out","w");
    fscanf(f,"%lld%lld%lld%lld\n",&n,&k,&a,&b);
    for(i=1;i<=n;i++)
        fscanf(f,"%lld",&z[i]);
        for(i=1;i<=n;i++)
          {s[i]=s[i-1]+z[i];
          s[i]=s[i]%k;
          }
          for(i=1;i<=n;i++)
          {
              if(i-a>=0)
                m[s[i-a+2]]++;
              if(i-b>0)
                m[s[i-b+1]]--;
              suma=suma+m[s[i]];
          }
          fprintf(g,"%lld",suma);
}