三井住友信託銀行プログラミングコンテスト2019 C - 100 to 105
問題はこちら atcoder.jp
方針
円ちょうどの買い物をできるならば,買う品物の数は 個( は の商) とできます1。
個の商品による合計金額 は なので, がこの範囲に含まれているかを判定すればよいです。コード中では余り を用いてやや工夫しています。
解説PDF では3種類の解法が紹介されています。
コード
#include <bits/stdc++.h> using namespace std; int main(){ int x; cin>>x; int q=x/100; int r=x%100; cout<<(r<=q*5)<<endl; }
-
(i)買う品物の数が 個以上のとき,合計金額 は, ( < より)となり, 円にすることはできません。(ii)買う品物の数が 以下のときは少し複雑です。仮に 個の合計金額を 円にできるとすると, です。このとき, ですが, が 以上のときは, 個の商品によっても合計金額を 円にすることができます(確認してみてください)。以上より,買う品物の数を 個として問題ありません。↩