Cod sursa(job #2911176)

Utilizator Vlad_NistorNIstor Vlad Vlad_Nistor Data 27 iunie 2022 13:44:01
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda 3_iulie Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;


int D[5000001],T[5000001], C[5000001];
int main(void){
    ofstream cout("pascal.out");
    ifstream cin("pascal.in");
    int n,d;
    cin >> n >> d;
    for(int i= 2;i<=n;i++){
        if((i&1) == 0)D[i] =  1 + D[i>>1];
        if(i % 3 == 0)T[i] =  1 + T[i/3];
        if(i % 5 == 0)C[i] =  1 + C[i/5];
    }
    int ans = 0,two = 0, three = 0, five = 0;
    for(int i = 1;i<=n;i++){
        two += D[n-i+1] - D[i];
        three += T[n-i+1] - T[i];
        five += C[n-i+1] - C[i];
        if(d == 2 && two){
          ++ans;
        }
        if(d == 3 && three){
            ++ans;
        }
        if(d == 4 && two >= 2){
            ++ans;
        }
        if(d == 5 && five){
            ++ans;
        }
        if(d == 6 && two && three){
            ++ans;
        }
    }
    cout << ans;
}