Cod sursa(job #890413)

Utilizator XeBluePodaru Mihai XeBlue Data 25 februarie 2013 01:31:33
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream> 
#include<vector>
using namespace std;
ifstream in("pascal.in");
ofstream out("pascal.out");
#define R 1000000000
short int v2[5000090];
short int v3[5000090];
short int v5[5000090];
int f, n, i, cate, fact2, fact3, fact5, j;
int main()
{
	in >> n >> f;
    for(i=2;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;
    }
    for(j=1;j<n;j++)
    {
        fact2=fact2-v2[j]+v2[n-j+1];
        fact3=fact3-v3[j]+v3[n-j+1];
        fact5=fact5-v5[j]+v5[n-j+1];
        if(fact2>=1 && f==2)
            cate++;
        else if(fact3>=1 && f==3)
            cate++;
        else if(fact2>=2 && f==4)
            cate++;
        else if(fact5>=1 && f==5)
            cate++;
        else if(fact2>=1 && fact3>=1 && f==6)
            cate++;
    }
	out << cate%R;
    in.close();
    out.close();
    return 0;
}