Cod sursa(job #1337309)

Utilizator wGEORGEWGeorge Cioti wGEORGEW Data 8 februarie 2015 20:47:52
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
using namespace std; 
ifstream in("pascal.in");
ofstream out("pascal.out");
  
const int nmax = 5000001;
int r, d, s2, s3, s5, rasp;
int fact2[nmax], fact3[nmax], fact5[nmax];
  
  
int main()
{
    int player_unu=0;
 
    in>>r>>d;
    for(int i = 1; i<=r; i++)
    {
        if(i%2==0)
            fact2[i] = fact2[i / 2] + 1;
  
        if(i%3==0)
            fact3[i] = fact3[i / 3] + 1;
  
        if(i%5==0)
            fact5[i] = fact5[i / 5] + 1;
    }
 
    for(int i = 1; i<=r; i++)
    {
        s2 += fact2[r - i + 1] - fact2[i];
        s3 += fact3[r - i + 1] - fact3[i];
        s5 += fact5[r - i + 1] - fact5[i];
  
        if(d==2 && s2>0)
            rasp++;
  
        if(d==3 && s3>0)
            rasp++;
  
        if(d==5 && s5>0)
            rasp++;
  
        if(d==4 && s2>1)
            rasp++;
  
        if(d==6 && s2>0 && s3>0)
            rasp++;
    }
 
    out<<rasp<<'\n';
 
    return player_unu;
}