Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define ld long double
- #define pq priority_queue
- #define ff first
- #define ss second
- #define pb push_back
- #define pb push_back
- #define all(c) (c).begin(), (c).end()
- #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
- #define MOD1 998244353
- #define MOD2 1000000007
- typedef pair<ll, ll> ii;
- typedef vector<ll> vi;
- typedef vector<vi> vvi;
- typedef vector<ii> vii;
- typedef vector<vii> vvii;
- int main()
- {
- ios_base :: sync_with_stdio(false);
- cin.tie(NULL);
- int t;
- cin>>t;
- while(t--)
- {
- int n;
- cin>>n;
- int a[n];
- for(int i=0;i<n;i++)
- {
- cin>>a[i];
- }
- sort(a,a+n,greater<int>());
- int dp[n+1];
- for(int i=0;i<n+1;i++)
- {
- dp[i]=0;
- }
- for(int i=0;i<n+1;i++)
- {
- if(i+a[i]<n+1)
- {
- dp[i+a[i]] = max(dp[i+a[i]], dp[i]+1);
- }
- }
- cout<<dp[n]<<endl;
- }
Add Comment
Please, Sign In to add comment