diff --git a/src/9/6/P1616.cpp b/src/9/6/P1616.cpp new file mode 100644 index 0000000..cbe01e9 --- /dev/null +++ b/src/9/6/P1616.cpp @@ -0,0 +1,24 @@ +#include +#include +#include +#include +#include + +using ll = int64_t; + +int main(){ + std::iostream::sync_with_stdio(false); + std::cin.tie(nullptr); + + ll t,m; + std::cin>>t>>m; + std::vector dp(t+1); + for(ll i=1;i<=m;i++){ + ll w,v; + std::cin>>w>>v; + for(ll j=w;j<=t;j++){ + dp[j]=std::max(dp[j],dp[j-w]+v); + } + } + std::cout< +#include +#include +#include +#include +using ll = int64_t; + +ll t; + +int main(){ + std::iostream::sync_with_stdio(false); + std::cin.tie(nullptr); + + std::cin>>t; + std::vector a; + std::vector dp; + while(t--){ + ll n; + std::cin>>n; + ll ans=n; + a.clear(); + dp.clear(); + a.resize(n+1); + + + for(ll i=1;i<=n;i++){ + std::cin>>a[i]; + } + std::sort(a.begin()+1,a.begin()+1+n); + dp.resize(a[n]+1); + dp[0]=true; + for(ll i=1;i<=n;i++){ + if(dp[a[i]]){ + ans--; + continue; + } + for(ll j=a[i];j<=a[n];j++){ + dp[j]=dp[j]|dp[j-a[i]]; + } + } + std::cout<