結果
問題 |
No.825 賢いお買い物
|
ユーザー |
![]() |
提出日時 | 2019-05-03 21:31:23 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 662 bytes |
コンパイル時間 | 2,303 ms |
コンパイル使用メモリ | 193,408 KB |
最終ジャッジ日時 | 2025-01-07 03:21:10 |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
#include<bits/stdc++.h> using namespace std; using Int = long long; template<typename T1,typename T2> inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template<typename T1,typename T2> inline void chmax(T1 &a,T2 b){if(a<b) a=b;} //INSERT ABOVE HERE Int pay(Int i,Int j,Int k){ Int x=(i+j*10)-k; return (x/10)+(x%10); } signed main(){ Int a,b,c; cin>>a>>b>>c; Int ans=1e9; for(Int i=0;i<=a;i++){ for(Int j=0;j<=b;j++){ for(Int k=1;k<=i+j*10;k++){ Int x=pay(i,j,k)+(a-i)+(b-j); if(x==c) chmin(ans,k); } } } auto NG=[](){cout<<"Impossible"<<endl;exit(0);}; if(ans>a+10*b) NG(); cout<<ans<<endl; return 0; }