Cod sursa(job #3138014)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 17 iunie 2023 07:48:17
Problema GFact Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream F("gfact.in");
ofstream G("gfact.out");
int a,b,i,k,c[15],d[15];
long long m,s,q,j,t,n,r;
int main()
{
    for(F>>a>>b,m=1LL*a*b,i=2;i*i<=a;j?c[k]=i,d[k++]=j*b:0,++i)
        for(j=0;a%i==0;a/=i,++j);
    if(a>1)
        c[k]=a,d[k++]=b;
    for(s=1;s<=m;s<<=1);
    for(i=0;i<k;q=max(q,j),++i)
        for(j=s,t=s;t;t>>=1)
            if(j-t>=0) {
                for(n=j-t,r=0;n;n/=c[i],r+=n);
                if(r>=d[i])
                    j-=t;
            }
    return G<<q,0;
}