Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #pragma GCC optimize("-Ofast")
- #pragma GCC target("sse,sse2,sse3,ssse3,sse4,sse4.2,popcnt,abm,mmx,avx2,tune=native")
- #pragma GCC optimize("-ffast-math")
- #pragma GCC optimize("-funroll-loops")
- #pragma GCC optimize("-funroll-all-loops,-fpeel-loops,-funswitch-loops")
- #define IO ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
- const long long MOD = 1e9 + 7, OO = 1e18;
- const double PI = acos(-1);
- const int N = 1e3 + 5;
- const int dx[4] = {0, 0, 1, -1};
- const int dy[4] = {1, -1, 0, 0};
- long long t, n, h, a[N], l, r, md;
- bool ok(long long k)
- {
- long long sm = 0;
- for (int i = 1; i < n; i++)
- {
- sm += min(a[i + 1] - a[i], k);
- }
- sm += k;
- return sm >= h;
- }
- int main()
- {
- IO
- cin >> t;
- while (t--)
- {
- cin >> n >> h;
- for (int i = 1; i <= n; i++)
- {
- cin >> a[i];
- }
- l = 1, r = 1e18;
- while (l < r)
- {
- md = (l + r) / 2;
- if (ok(md))r = md;
- else l = md + 1;
- }
- cout << l << '\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment