Pagini recente » Cod sursa (job #2819651) | Cod sursa (job #1601444) | Cod sursa (job #2632196) | Cod sursa (job #1652032) | Cod sursa (job #3311866)
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define ll long long
#define ld long double
using namespace std;
using namespace __gnu_pbds;
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int get_cnt(ll n) {
ll p5 = 5;
int cnt = 0;
while(p5 <= n) {
cnt += n / p5;
p5 *= 5;
}
return cnt;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
fin >> p;
ll left = 1, right = 1e9, answer = -1;
while(left <= right) {
ll mid = (left + right) / 2;
if(get_cnt(mid) >= p) {
answer = mid;
right = mid - 1;
}
else {
left = mid + 1;
}
}
if(answer == -1) {
fout << -1 << '\n';
return 0;
}
if(get_cnt(answer) != p) {
fout << -1 << '\n';
return 0;
}
fout << answer << '\n';
return 0;
}