Cod sursa(job #1042419)

Utilizator raulstoinStoin Raul raulstoin Data 26 noiembrie 2013 23:53:10
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>

#define NMAX 276997
#define LL long long

using namespace std;

ifstream fin("dtcsu.in");
ofstream fout("dtcsu.out");

int v[]={3,5,7,9,11,25,49,121},q,sol;
LL n,nr;

const int SZ=50000;
char input[SZ+1],*in;

inline LL atoi()
{
	for(;!(*in>='0' && *in<='9') && *in;in++);
  
	if(in==input+SZ)
	{
		fin.read(input,SZ);
		in=input;
		for(;!(*in>='0' && *in<='9') && *in;in++);
	}
	for(nr=0LL;*in>='0' && *in<='9';in++)
	{
		nr=nr*10+(*in-'0');
		if(in==input+SZ)
		{
			fin.read(input,SZ);
			in=input-1;
		}
	}
	return nr;
}

int main()
{
	fin.read(input,SZ);
	in=input;
	for(int i=0;i<NMAX;i++)
		n=atoi();
	q=atoi();
	for(;q;q--)
	{
		n=atoi();
		for(int i=7;i>=0;i--)
			for(;n%v[i]==0;n/=v[i]);
		sol+=((n>=1 && (n&(n-1))==0));
	}
	fout<<sol;
	return 0;
}