Cod sursa(job #2786042)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 20 octombrie 2021 09:02:42
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
using namespace std;
ifstream F("pascal.in");
ofstream G("pascal.out");
int n,d,c,i,p[5000003],q[5000003];
void C(int l,int v[])
{
    v[0]=0;
    int i,j;
    for(i=l;i<=n;i*=l)
        for(j=i;j<=n;j+=i)
            ++v[j];
    for(i=1;i<=n;++i)
        v[i]+=v[i-1];
}
int main()
{
    F>>n>>d;
    if(d==2||d==3||d==5) {
        for(C(d,p),i=1;i<n;++i)
            if(p[n]-p[i]-p[n-i])
                ++c;
    } else if(d==4) {
        for(C(2,p),i=1;i<n;++i)
            if(p[n]-p[i]-p[n-i]>=2)
                ++c;
    } else {
        for(C(2,p),C(3,q),i=1;i<n;++i)
            if(p[n]-p[i]-p[n-i]&&q[n]-q[i]-q[n-i])
                ++c;
    }
    G<<c;
    return 0;
}