fork download
  1. #include <bits/stdc++.h>
  2. #define MOD 1000000007
  3. #define Tran_Hoan_Thien ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
  4. #define fi first
  5. #define se second
  6. #define pb push_back
  7. #define vi vector<int>
  8. #define ll long long
  9. #define vll vector<ll>
  10. #define db double
  11. #define pii pair<int,int>
  12. #define endl "\n"
  13. #define str string
  14. #define pk pop_back
  15. #define LB lower_bound
  16. #define UB upper_bound
  17. #define all(a) a.begin(),a.end()
  18. #define sz(a) int((a).size())
  19. #define rv(a) a.rbegin(),a.rend()
  20. using namespace std;
  21. ll gcd(ll a,ll b){return __gcd(a,b);}
  22. ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
  23. int main(){
  24. #define TASK ""
  25. if(fopen(TASK ".inp", "r")){
  26. freopen(TASK ".inp", "r", stdin);
  27. freopen(TASK ".out", "w", stdout);
  28. }
  29.  
  30. freopen("Camdien.inp", "r", stdin);
  31. freopen("Camdien.out", "w", stdout);
  32.  
  33. Tran_Hoan_Thien;
  34. int n, m;
  35. cin >> n >> m;
  36. vector<int> a(n);
  37. for (int &x : a) cin >> x;
  38.  
  39. sort(a.rbegin(), a.rend());
  40. int total = 0;
  41. int cnt = 0;
  42. for (int i = 0; i < n; i++) {
  43. if (i == 0) total += a[i];
  44. else total += a[i] - 1;
  45. cnt++;
  46. if (total >= m) {
  47. cout << cnt;
  48. return 0;
  49. }
  50. }
  51. cout << -1;
  52. return 0;
  53. }
  54.  
Success #stdin #stdout 0.01s 5272KB
stdin
Standard input is empty
stdout
Standard output is empty