Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Discounts of Buckwheat"
https://onlinejudge.u-aizu.ac.jp/problems/0106
・そばの割引
僕が作成、提出したコードは、以下のとおりです。
・Aizu Online Judge in C++ #Volume1 - 0106 : Discounts of Buckwheat
/* Aizu Online Judge in C++ #Volume1 - 0106 : Discounts of Buckwheat https://onlinejudge.u-aizu.ac.jp/problems/0106 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; int main(void){ ll v[60],x; for(ll i=0;i<60;i++){ v[i]=9999; } for(ll i=0;i<30;i++){ v[i*2]=380*(i-i/5); } for(ll i=0;i<55;i++){ for(ll j=0;j<(55-i)/3;j++){ v[j*3+i]=min(v[j*3+i],v[i]+j*550-330*(j/4)); } } for(ll i=0;i<55;i++){ for(ll j=0;j<(55-i)/5;j++){ v[j*5+i]=min(v[j*5+i],v[i]+j*850-306*(j/3)); } } while(cin>>x && x){ cout<<v[x/100]<<"\n"; } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/