Cod sursa(job #1124808)

Utilizator andrei_diaconuAndrei Diaconu andrei_diaconu Data 26 februarie 2014 13:51:10
Problema Zero 2 Scor 9
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

using namespace std;
ifstream f("zero2.in");
ofstream g("zero2.out");
struct punct{
        int d;
        int e;
        }v[100001];
int i,t,k,b,n,u,nr,p;
long long s,Min;
int main()
{for(t=1;t<=1;t++){
    f>>n>>b;
    Min=1ll*1<<60;
    nr=0;

for(i=2;i*i<=b;i++){
        if(b%i==0){
            nr++;
            v[nr].d=i;u=0;
                while(b%i==0){
                        b=b/i;
                            u++;}
                    v[nr].e=u;}
                    }
    if(b!=1){
        nr++;
            v[nr].d=b;
                v[nr].e=1;}

for(i=1;i<=nr;i++){
       p=v[i].d;

       s=0;

            while(p<=n){
                k=n/p;
                    s=s+1ll*(k-1)*(k)/2*p + 1ll*(k)*(n-(k)*p+1);
                    p=p*v[i].d;}
        if(s/v[i].e<Min)
            Min=s/v[i].e;}
    g<<Min<<'\n';}


    return 0;
}