Guest User

643Div2-B

a guest
May 16th, 2020
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. #define ld long double
  2. #define pq priority_queue
  3. #define ff first
  4. #define ss second
  5. #define pb push_back
  6. #define pb push_back
  7. #define all(c) (c).begin(), (c).end()
  8. #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
  9. #define MOD1 998244353
  10. #define MOD2 1000000007
  11.  
  12. typedef pair<ll, ll> ii;
  13. typedef vector<ll> vi;
  14. typedef vector<vi> vvi;
  15. typedef vector<ii> vii;
  16. typedef vector<vii> vvii;
  17.  
  18.  
  19. int main()
  20. {
  21. ios_base :: sync_with_stdio(false);
  22. cin.tie(NULL);
  23.  
  24. int t;
  25. cin>>t;
  26. while(t--)
  27. {
  28. int n;
  29. cin>>n;
  30. int a[n];
  31. for(int i=0;i<n;i++)
  32. {
  33. cin>>a[i];
  34. }
  35.  
  36. sort(a,a+n,greater<int>());
  37.  
  38. int dp[n+1];
  39. for(int i=0;i<n+1;i++)
  40. {
  41. dp[i]=0;
  42. }
  43.  
  44. for(int i=0;i<n+1;i++)
  45. {
  46. if(i+a[i]<n+1)
  47. {
  48. dp[i+a[i]] = max(dp[i+a[i]], dp[i]+1);
  49. }
  50.  
  51. }
  52.  
  53. cout<<dp[n]<<endl;
  54. }
Add Comment
Please, Sign In to add comment