Cod sursa(job #2001959)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 18 iulie 2017 11:24:09
Problema Pascal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int n,d;
int v1[5000002];
int main()
{
    f>>n>>d;
    for(int i=d;i<=n;i+=d)
    {
        int z=i;
        while(z%d==0)
        {
            ++v1[i];
            z/=d;
        }
    }
    for(int i=1;i<=n;++i)
        v1[i]+=v1[i-1];
    int sol=0;
    int max1=n/2+(n&1);
    for(int i=0;i<max1;++i)
        if(v1[n]-v1[i]-v1[n-i])
            sol+=2;
    if(!(n&1))
        if(v1[n]-v1[n/2]*2)
            ++sol;
    g<<sol;
    return 0;
}