寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

Aizu Online Judge in C++ #Volume1 - 0106 : Discounts of Buckwheat

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/