Cod sursa(job #2270261)

Utilizator Vlad_NituNitu Vlad-Petru Vlad_Nitu Data 27 octombrie 2018 10:16:20
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
#define NMAX 5000001
using namespace std;
ifstream f ("pascal.in");
ofstream g ("pascal.out") ;
int r , d , p2 , p3 , p5 , v2[NMAX] , v3[NMAX] , v5[NMAX];
int s = 0 ;
int main()
{

        f >> r >> d;
    for (int i = 1 ; i <= r ; ++i)
    {
        if (i % 2 == 0) v2[i] = 1 + v2[i/2];
        if (i % 3 == 0) v3[i] = 1 + v3[i/3];
        if (i % 5 == 0) v5[i] = 1 + v5[i/5];
    }

    for (int i = 1 ; i < r ; i++)
    {
        p2 += v2[r-i+1] - v2[i];
        p3 += v3[r-i+1] - v3[i];
        p5 += v5[r-i+1] - v5[i];
        if (d == 2 && p2 > 0) s ++ ;
        else if (d == 3 && p3 > 0) s ++ ;
        else if (d == 4 && p2 > 1) s ++ ;
        else if (d == 5 && p5 > 0) s ++ ;
        else if (d == 6 && p2 > 0 && p3 > 0) s ++ ;
    }
    g << s;
    return 0 ;


}