Cod sursa(job #2778887)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 2 octombrie 2021 13:08:52
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 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) {
        C(d,p);
        for(i=1;i<n;++i)
            if(p[n]-p[i]-p[n-i])
                ++c;
    } else if(d==4) {
        C(2,p);
        for(i=1;i<n;++i)
            if(p[n]-p[i]-p[n-i]>=2)
                ++c;
    } else {
        C(2,p),C(3,q);
        for(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;
}