Cod sursa(job #2773843)
| Utilizator | 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;
}
