Cod sursa(job #1029953)

Utilizator harababurelPuscas Sergiu harababurel Data 15 noiembrie 2013 15:33:53
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda FMI No Stress 4 Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <cstring>
#define ll long long
using namespace std;

string s;
ll val;
int n, sol;

ll parse(string s) {
	ll x = 0;
	for(int i=0; i<s.size(); i++) x = x * 10LL + 1LL*int(s[i]) - 48LL;
	return x;
}

int main() {
	ifstream f("dtcsu.in");
	ofstream g("dtcsu.out");

	for(int i=1; i<=276997; i++) getline(f, s);

	getline(f, s);
	n = parse(s);
	for(int i=1; i<=n; i++) {
		getline(f, s);
		val = parse(s);
	
		while(val % 2LL == 0LL) val /= 2LL;
		while(val % 3LL == 0LL) val /= 3LL;
		while(val % 5LL == 0LL) val /= 5LL;
		while(val % 7LL == 0LL) val /= 7LL;
		while(val % 11LL == 0LL) val /= 11LL;

		if(val == 1LL) sol++;

		if(sol * 3 > n) break;
	}

	g<<sol<<"\n";

	return 0;
}