fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define el cout << '\n'
  4. #define file(name) if(freopen(name ".inp","r",stdin) freopen(name ".out","w",stdout);
  5. #define TIME 1.0*clock()/CLOCKS_PER_SEC
  6. #define RUNTIME cerr
  7.  
  8. using namespace std;
  9.  
  10. const int N6 = 1e6 + 5;
  11.  
  12. int n, result = N6 + 5;
  13. ll k, pre[N6];
  14.  
  15. bool check(int m)
  16. {
  17. for (int i = m; i <= n; ++i)
  18. {
  19. if (pre[i] - pre[i - m] < k)
  20. return false;
  21. }
  22. return true;
  23. }
  24.  
  25. ll tknp()
  26. {
  27. int l = 1, r = n;
  28. int ans = -1;
  29. while (l <= r)
  30. {
  31. int m = (l + r) / 2;
  32. if (check(m))
  33. {
  34. ans = m;
  35. r = m - 1;
  36. }
  37. else
  38. {
  39. l = m + 1;
  40. }
  41. }
  42. return ans;
  43. }
  44. int main()
  45. {
  46. ios_base::sync_with_stdio(false);
  47. cin.tie(NULL);
  48. cout.tie(NULL);
  49. cin >> n >> k;
  50. pre[0] = 0;
  51. for (int i = 1; i <= n; ++i)
  52. {
  53. ll x;
  54. cin >> x;
  55. pre[i] = pre[i - 1] + x;
  56. }
  57. result = tknp();
  58. cout << result;
  59. el;
  60. return 0;
  61. }
  62.  
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
-1