結果
問題 | No.32 貯金箱の憂鬱 |
ユーザー |
![]() |
提出日時 | 2015-06-09 21:23:34 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 1,096 bytes |
コンパイル時間 | 630 ms |
コンパイル使用メモリ | 82,036 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-23 02:04:55 |
合計ジャッジ時間 | 1,168 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 12 |
ソースコード
#include <algorithm>#include <cstdio>#include <cstdlib>#include <cctype>#include <cmath>#include <iostream>#include <queue>#include <list>#include <map>#include <numeric>#include <set>#include <sstream>#include <string>#include <vector>using namespace std;#define REP(i,a,n) for(int i=(a); i<(int)(n); i++)#define rep(i,n) REP(i,0,n)#define FOR(it,c) for(__typeof((c).begin()) it=(c).begin(); it!=(c).end(); ++it)#define ALLOF(c) (c).begin(), (c).end()typedef long long ll;int ret;void dfs(int t, int P, int L, int M, int N){if(t==0){dfs(t+1, P, L, M, N);while(N>=25){N-=25;M++;dfs(t+1, P, L, M, N);}}if(t==1){dfs(t+1, P, L, M, N);while(M>=4){M-=4;L++;dfs(t+1, P, L, M, N);}}if(t==2){dfs(t+1, P, L, M, N);while(L>=10){L-=10;P++;dfs(t+1, P, L, M, N);}}if(t==3){ret = min(ret, L+M+N);}}int main(){int L, M, N;cin >> L;cin >> M;cin >> N;ret = 100000000;dfs(0, 0, L, M, N);cout << ret << endl;return 0;}