fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long
  5. #define ul unsigned long long
  6.  
  7. ll mod = 1e9+7;
  8. const int N = 1e3+5;
  9. int MOD = 998244353;
  10. int bit[200000];
  11. int n, f ,t;
  12. int dem = 0;
  13. int a[N];
  14. int sum[N];
  15. int mp[N];
  16. int kq=0;
  17. vector<int> v;
  18. int b[N];
  19. int main() {
  20. //freopen("BFS.INP", "r", stdin);
  21. //freopen("BFS.OUT", "w", stdout);
  22. ios_base::sync_with_stdio(0);
  23. cin.tie(0);
  24. cout.tie(0);
  25. cin >> n >> f >> t;
  26. for ( int i =1 ;i<= n ; i++){
  27. cin >> a[i];
  28. mp[a[i]]= i ;
  29. b[i] = a[i];
  30. }
  31. sort(a+1, a+n+1, greater<int>());
  32. for ( int i =1; i<= n; i++){
  33. sum[i] = sum[i-1] + a[i];
  34. }
  35. int l = 1;
  36. int r = f;
  37.  
  38. while (r <= n && (sum[r - 1] - sum[l - 1] + a[r] >= t)) {
  39. l++;
  40. r++;
  41. }
  42. int lim = r-1;
  43. for( int i =1; i<= lim; i++){
  44. v.push_back(mp[a[i]]);
  45. }
  46. sort(v.begin(), v.end());
  47. int k=f;
  48. for(int i = 0; i< f; i++){
  49. dem += v[i]-k;
  50. kq += b[v[i]];
  51. if(kq>=t){
  52. break;
  53. }
  54. k--;
  55. }
  56. cout << dem;
  57. }
  58.  
  59.  
Success #stdin #stdout 0.01s 5308KB
stdin
6 2 27
10 4 20 6 3 3
stdout
1