結果
問題 | No.393 2本の竹 |
ユーザー |
![]() |
提出日時 | 2019-01-13 10:56:33 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 1,000 ms |
コード長 | 839 bytes |
コンパイル時間 | 924 ms |
コンパイル使用メモリ | 98,228 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-25 14:40:32 |
合計ジャッジ時間 | 1,926 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 |
ソースコード
#include <cstdio>#include <cstring>#include <iostream>#include <string>#include <cmath>#include <bitset>#include <vector>#include <map>#include <set>#include <queue>#include <deque>#include <algorithm>#include <complex>#include <unordered_map>#include <unordered_set>#include <random>#include <cassert>using namespace std;typedef long long int ll;typedef pair<int, int> P;void solve(){int n1, n2; cin>>n1>>n2;int m; cin>>m;int a[61];for(int i=0; i<m; i++) cin>>a[i];sort(a, a+m);bitset<100001> dp;dp[0]=1;int s=0;for(int i=0; i<m; i++){dp|=(dp<<a[i]);s+=a[i];bool ok=0;for(int j=max(s-n2, 0); j<=n1; j++){if(dp[j]){ok=1;break;}}if(!ok){cout<<i<<endl;return;}}cout<<m<<endl;}int main(){int d; cin>>d;for(int i=0; i<d; i++) solve();return 0;}