結果
| 問題 |
No.1350 2019-6problem
|
| コンテスト | |
| ユーザー |
zumin
|
| 提出日時 | 2021-02-25 00:21:58 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 884 bytes |
| コンパイル時間 | 482 ms |
| コンパイル使用メモリ | 63,636 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-25 01:11:57 |
| 合計ジャッジ時間 | 1,310 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 WA * 1 |
ソースコード
#include <iostream>
using namespace std;
using ll=long long;
ll gcd(ll m,ll n){
if(n==0) return m;
return gcd(n,m%n);
}
ll lcm(ll x,ll y){
return x*y/gcd(x,y);
}
int main(){
ll a,b,c,k;
cin>>a>>b>>k;
c=lcm(a,b);
ll oka=k+1;
ll nga=1;
while(oka-nga>1){
ll cen=(oka+nga)/2;
ll acen=a*cen;
ll plc=cen+acen/b-acen/c;
if(plc>=k){
oka=cen;
if(plc==k){
cout<<acen<<endl;
return 0;
}
}
else nga=cen;
}
ll okb=k+1;
ll ngb=1;
while(okb-ngb>1){
ll cen=(okb+ngb)/2;
ll bcen=b*cen;
ll plc=cen+bcen/a-bcen/c;
if(plc>=k){
okb=cen;
if(plc==k){
cout<<bcen<<endl;
return 0;
}
}
else ngb=cen;
}
return 0;
}
zumin