Pagini recente » Cod sursa (job #2510691) | Cod sursa (job #2167612) | Cod sursa (job #301131) | Cod sursa (job #1676658) | Cod sursa (job #3169899)
#include <bits/stdc++.h>
#ifdef LOCAL
#define in cin
#define out cout
#endif
#define int int64_t
using namespace std;
#ifndef LOCAL
ifstream in("fact.in");
ofstream out("fact.out");
#endif
bool countt(int maxx,vector<pair<int,int>> bases,int q)
{
for(auto i:bases)
{
int cnt=0;
int base1=i.first;
while(base1<=maxx)
{
cnt+=maxx/base1;
base1*=i.first;
}
if(cnt<i.second*q)return 0;
}
return 1;
}
signed main()
{
int p=10,q;in>>q;
int st = 1, dr = __LONG_LONG_MAX__/2;
vector<pair<int,int>> bases;
bases.push_back({2,1});
bases.push_back({5,1});
while (st<dr)
{
int mid=(st+dr)/2;
if(countt(mid,bases,q))
{
dr=mid;
}
else
{
st=mid+1;
}
}
out<<st;
}