From d1a806debd810e5e6c302cabe8df07caf913a19c Mon Sep 17 00:00:00 2001 From: oncsr Date: Tue, 30 Dec 2025 23:58:01 +0900 Subject: [PATCH] =?UTF-8?q?[20251230]=20BOJ=20/=20G3=20/=20=EA=B7=A0?= =?UTF-8?q?=ED=98=95=EC=9D=98=20=EC=B0=BD=EC=A1=B0=EC=9E=90=20/=20?= =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=A4=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0 \354\260\275\354\241\260\354\236\220.md" | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 "khj20006/202512/30 BOJ G3 \352\267\240\355\230\225\354\235\230 \354\260\275\354\241\260\354\236\220.md" diff --git "a/khj20006/202512/30 BOJ G3 \352\267\240\355\230\225\354\235\230 \354\260\275\354\241\260\354\236\220.md" "b/khj20006/202512/30 BOJ G3 \352\267\240\355\230\225\354\235\230 \354\260\275\354\241\260\354\236\220.md" new file mode 100644 index 00000000..eac2be56 --- /dev/null +++ "b/khj20006/202512/30 BOJ G3 \352\267\240\355\230\225\354\235\230 \354\260\275\354\241\260\354\236\220.md" @@ -0,0 +1,43 @@ +```cpp +#include +using namespace std; + +const int INF = 1e9 + 7; + +int N, I, G; +int dp[202][202]{}; + +int main() { + cin.tie(0)->sync_with_stdio(0); + + cin>>N>>I>>G; + for(int i=0;i<=201;i++) for(int j=0;j<=201;j++) dp[i][j] = INF; + dp[0][0] = 0; + + for(int i,g;N--;) { + cin>>i>>g; + int ndp[202][202]{}; + for(int a=0;a<=201;a++) for(int b=0;b<=201;b++) ndp[a][b] = INF; + for(int a=0;a<=200;a++) for(int b=0;b<=200;b++) if(dp[a][b] != INF) { + int A = min(201, a+i), B = min(201, b+g); + ndp[A][B] = min(ndp[A][B], dp[a][b] + 1); + } + for(int a=0;a<=200;a++) { + if(dp[201][a] != INF) { + int A = min(201, a+g); + ndp[201][A] = min(ndp[201][A], dp[201][a] + 1); + } + if(dp[a][201] != INF) { + int A = min(201, a+i); + ndp[A][201] = min(ndp[A][201], dp[a][201] + 1); + } + } + for(int a=0;a<=201;a++) for(int b=0;b<=201;b++) dp[a][b] = min(dp[a][b], ndp[a][b]); + } + + int ans = INF; + for(int i=I;i<=201;i++) for(int j=G;j<=201;j++) ans = min(ans, dp[i][j]); + cout<<(ans == INF ? -1 : ans); + +} +```