Problem 114514 >> 114514 |
zhangxuanzhen @ 2025-05-08 19:45:30
114514
|
pengyufan @ 2025-05-14 18:21:05
?
|
chenrui @ 2025-05-17 09:28:32
#include<bits/stdc++.h>
using namespace std; int n,x,y; int mn=INT_MAX; struct Tc{ int bz; int dj; }a[25]; void dfs(int in,int num,int sumb,int sumd){ if(sumb>=x&&sumd>=y){ mn=min(mn,num); }else{ for(int i=in+1;i<=n;i++){ dfs(i,num+1,sumb+a[i].bz,sumd+a[i].dj); } } } int main(){ cin>>n>>x>>y; int sumb=0; int sumd=0; for(int i=1;i<=n;i++){ cin>>a[i].bz>>a[i].dj; sumb+=a[i].bz; sumd+=a[i].dj; } if(sumb<x||sumd<y){ cout<<"-1"; return 0; }for(int i=1;i<=n;i++){ dfs(i,1,a[i].bz,a[i].dj); } cout<<mn; retur } |