Cod sursa(job #508914)

Utilizator mraresMardare Rares mrares Data 9 decembrie 2010 21:33:04
Problema Divk Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#define nmax 500000

using namespace std;

ifstream fin("divk.in");
ofstream fout("divk.out");

int n, k, a, b, suma, nr;
int v[nmax];

int main()
{
    int i, j, start, finish, sum, lungime;
    fin >> n >> k >> a >> b;
    for(i=1; i<=n; ++i)
        fin >> v[i];
    // sum = b-a;
    // first try n^2
    // next deque
    for(i=1; i<=n; ++i)
    {
        suma = 0;
        // start = i;
        // finish = i;
        lungime = 1;
        for(j=i+1; j<=n; ++j)
        {
            suma+=v[j];
            ++lungime;
            if(suma%k==0 && lungime>=a && lungime<=b)
            {
                ++nr;
                // fout << start << " " << finish << " " << suma << "\n";
                suma = 0;
                start = i+1;
                finish = i+1;
            }
        }
    }
    fout << nr << "\n";
    return 0;
}