Cod sursa(job #2610374)

Utilizator Rares31100Popa Rares Rares31100 Data 4 mai 2020 19:49:35
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.39 kb
#include<bits/stdc++.h>

using namespace std;

int n, d, i, nr, x, y;
char v2[5000002], v5[5000002], v3[5000002];

ifstream in("pascal.in");
ofstream out("pascal.out");

int main(){

   in>> n >> d;

   for(i = 1; i <= n; i++){
        if(i % 2 == 0){
            v2[i] = v2[i / 2] + 1;
        }
        if(i % 3 == 0){
            v3[i] = v3[i / 3] + 1;
        }
        if(i % 5 == 0){
            v5[i] = v5[i / 5] + 1;
        }
   }
   if(d == 2){
        for(i = 1; i <= n; i++){
            x = x + v2[n - i + 1] - v2[i];
            if(x != 0){
                nr++;
            }
        }
   }
   if(d == 3){
        for(i = 1; i <= n; i++){
            x = x + v3[n - i + 1] - v3[i];
            if(x != 0){
                nr++;
            }
        }
   }
   if(d == 5){
        for(i = 1; i <= n; i++){
            x = x + v5[n - i + 1] - v5[i];
            if(x != 0){
                nr++;
            }
        }
   }
   if(d == 4){
        for(i = 1; i <= n; i++){
            x = x + v2[n - i + 1] - v2[i];
            if(x > 1){
                nr++;
            }
        }
   }
   if(d == 6){
        for(i = 1; i <= n; i++){
            x = x + v2[n - i + 1] - v2[i];
            y = y + v3[n - i + 1] - v3[i];
            if(x != 0 && y != 0){
                nr++;
            }
        }
   }

   out<< nr <<"\n";
   return 0;
}