Cod sursa(job #865628)

Utilizator stoicatheoFlirk Navok stoicatheo Data 26 ianuarie 2013 18:26:16
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#define NMAX 500005
using namespace std;
ifstream fin ("divk.in");
ofstream fout ("divk.out");
int n,a,b,d[NMAX],k,s[NMAX];
long long rez;
void tipar(int o)
{
    int i; fout<<rez<<" "<<o<<"\n";
    for(i=1;i<=n;i++) fout<<s[i]<<" ";
    fout<<"\n";
    for(i=1;i<=n;i++) fout<<d[i]<<" ";
    fout<<"\n\n";
}
int main()
{
    int i;
    long long x;
    fin>>n>>k>>a>>b;
    for( i=1;i<=n;++i)
    {
        fin>>x;
        s[i]=(s[i-1]+x)%k;
    }
    b++;
    for(i=a;i<=n;i++)
    {
        ++d[s[i-a]];
        if (i>=b)
            --d[s[i-b]];
        rez+=d[s[i]];
        //tipar(i);
    }
   // tipar();
    fout<<rez;
    return 0;
}