Cod sursa(job #3003488)
| Utilizator | Data | 15 martie 2023 19:18:38 | |
|---|---|---|---|
| Problema | Factorial | Scor | 15 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("fact.in");
ofstream cout ("fact.out");
vector<int> mp(1000001);
int main()
{
for (int i = 5; i <= 1000000; i += 5)
{
int c = i;
while (c % 5 == 0)
{
mp[i] ++;
c /= 5;
}
}
for (int i = 1; i <= 1000000; i ++)
{
mp[i] += mp[i - 1];
}
int p; cin >> p;
cout << lower_bound(mp.begin() + 1, mp.end(), p) - mp.begin() << '\n';
}
