Cod sursa(job #2650088)

Utilizator redstonegamer22Andrei Ion redstonegamer22 Data 17 septembrie 2020 15:01:24
Problema Pascal Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("pascal.in");
ofstream out("pascal.out");

long long gfact(long long fact, int base)
{
    long long nr_div = 0;
    while(fact)
    {
        nr_div += fact / base; fact /= base;
    }

    return nr_div;
}

long long precalc[5000005];

int main()
{
    long long r; int d; in >> r >> d;
    long long cnt = 0;
    int cutoff;

    if(d == 4) cutoff = 1;
    else cutoff = 0;

    if(d == 6) d = 3;
    if(d == 4) d = 2;

    //for(int i = 0; i <= r; i++)
    //    precalc[i] = gfact(i, d);

    for(int divs = d; divs <= r; divs*=d)
    for(int index = 0; index*divs <= r; index += 1)
        precalc[index*divs] += index;

    for(long long j = 0; j < r; j++)
    {
        if(precalc[r] - precalc[r-j] - precalc[j] > cutoff)
            cnt ++;
    }

    out << cnt;
}