Cod sursa(job #2970394)

Utilizator andrei.nita271@gmail.comAndrei Nita [email protected] Data 24 ianuarie 2023 23:50:00
Problema GFact Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("gfact.in");
ofstream out("gfact.out");
long long fv[200000000], p, q;

int fact(int m) {
	int cnt = 0;
	for (int i = 1; i <= m; i++) {
		int aux = i;
		while (aux % p == 0) {
			aux = aux / p;
			cnt++;
		}
	}
	return cnt;
}
void caut_bin(int x) {
	long long st = 1, dr = 199999999, rez = -1;
	while (st <= dr) {
		long long m = (st + dr) / 2;
		if (fact(m) < q) {
			st = m + 1;
		}
			else if (fact(m) == q) {
				rez = m;
				dr = m - 1;
			}
			else {
				dr = m - 1;
			}
		}
	out << rez;
}

int main() {
	in >> p >> q;
	fv[p] = q;
	caut_bin(p);
}