Cod sursa(job #1455023)

Utilizator isa_mirica_mihaiMirica Matei isa_mirica_mihai Data 27 iunie 2015 12:50:33
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <cstdio>
using namespace std;
char v2[5000005], v3[5000005], v5[5000005];
int main()
{
    freopen("pascal.in", "r", stdin);
    freopen("pascal.out", "w", stdout);
    int n = 0, r, d, nr, s2 = 0, s3 = 0, s5 = 0;
    scanf("%d%d", &r, &d);
    for (int i = 1; i <= r; 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;
        }
    }
    for(int i = 1; i <= r; i++)
    {
        s2 += v2[r - i + 1] - v2[i];
        s3 += v3[r - i + 1] - v3[i];
        s5 += v5[r - i + 1] - v5[i];
        if (d == 2 && s2 > 0)
            n ++;
        else if (d == 3 && s3 > 0)
            n ++;
        else if (d == 5 && s5 > 0)
            n ++;
        else if (d == 4 && s2 > 1)
            n ++;
        else if (d == 6 && s2 > 0 && s3 > 0)
            n ++;
    }
    printf("%d", n);
    return 0;
}