Cod sursa(job #3173989)
Utilizator | Data | 24 noiembrie 2023 08:59:53 | |
---|---|---|---|
Problema | GFact | Scor | 15 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("gfact.in");
ofstream fout("gfact.out");
unsigned long long P, Q;
int ok(unsigned long long x)
{
unsigned long long div = x/P;
if(div*(div+1)/2>=Q)
return 1;
return 0;
}
int main()
{
fin >> P >> Q;
unsigned long long st = 1, dr = LLONG_MAX;
while(st<=dr)
{
unsigned long long mij = (st+dr)/2;
if(ok(mij)==1)
dr = mij-1;
else
st = mij+1;
}
fout << st;
return 0;
}