Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main() {
- if (fopen("in", "r")) {
- freopen("in", "r", stdin);
- }
- cin.tie(0)->sync_with_stdio(0);
- int n, m;
- cin >> n >> m;
- vector<int> a(n + 1);
- for (int i = 1; i <= n; i++) {
- cin >> a[i];
- }
- sort(a.begin() + 1, a.end());
- int ans = 0;
- for (int i = 3; i <= n; i++) {
- int l = 1, r = i - 1;
- while (a[l] + a[r] + a[i] > m && r > 1) r--;
- if (r == 1) break;
- while (a[l] + a[r] + a[i] <= m && r > l) {
- while (a[l + 1] + a[r] + a[i] <= m && l + 1 < r) l++;
- ans = max(ans, a[l] + a[r] + a[i]);
- r--;
- }
- }
- cout << ans << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement