結果
| 問題 |
No.2099 [Cherry Alpha B] Time Machine
|
| コンテスト | |
| ユーザー |
kyushu1996
|
| 提出日時 | 2022-10-26 20:35:08 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 957 bytes |
| コンパイル時間 | 895 ms |
| コンパイル使用メモリ | 96,648 KB |
| 最終ジャッジ日時 | 2025-02-08 12:52:00 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 59 WA * 13 |
ソースコード
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <set>
#include <numeric>
#include <cmath>
#define ll long long
#define endl '\n'
using namespace std;
// category :
int main() {
ios_base::sync_with_stdio(false);
ll t,x,a,y,b; cin>>t>>x>>a>>y>>b;
ll n,m,l,ans=20000000;
// min of x*n+y*m+l
// when a*n-b*m+l = t
if(t>0){
// m=0 ~ (t-floor(t/a)*a) + floor(t/a)*x
m=(t-floor(t/a)*a) + floor(t/a)*x;
for(int i=0;i<=m;i++){
n=floor((t+b*i)/a);
l=t-a*n+b*i;
ans=min(n*x+i*y+l,ans);
}
}
else{
// m=ceil(|t|/b) ~ ceil(|t|/b)+ceil(a/b)
m=ceil(0.1+abs(t)/b)+ceil(a/b);
for(int i=ceil(0.1+abs(t)/b);i<=m;i++){
n=floor((b*i-abs(t))/a);
l=b*i-abs(t)-a*n;
ans=min(n*x+i*y+l,ans);
}
}
cout<<ans<<endl;
return 0;
}
kyushu1996