Cod sursa(job #2773843)

Utilizator valentinchipuc123Valentin Chipuc valentinchipuc123 Data 8 septembrie 2021 21:43:36
Problema Pascal Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,p;
int biti[40];
long long prec[40];

int main()
{
    f>>n>>p;

    long long ans=1LL*(n+1)*(n+2)/2;


    while(n!=0)
    {
        biti[++biti[0]]=n%p;
        n/=p;
    }

    prec[0]=1;
    for(int i=1; i<biti[0]; i++)
    {
        prec[i]=prec[i-1]*p*(p+1)/2;
    }

    long long aux=1;
    for(int i=biti[0]; i>=1; i--)
    {
        ans-=aux*prec[i-1]*biti[i]*(biti[i]+1)/2;
        aux=aux*(biti[i]+1);
    }
    ans-=aux;

    g<<ans;
}