Advertisement
tuki2501

NDCCARD.cpp

Sep 7th, 2022
581
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5.     if (fopen("in", "r")) {
  6.         freopen("in", "r", stdin);
  7.     }
  8.     cin.tie(0)->sync_with_stdio(0);
  9.     int n, m;
  10.     cin >> n >> m;
  11.     vector<int> a(n + 1);
  12.     for (int i = 1; i <= n; i++) {
  13.         cin >> a[i];
  14.     }
  15.     sort(a.begin() + 1, a.end());
  16.     int ans = 0;
  17.     for (int i = 3; i <= n; i++) {
  18.         int l = 1, r = i - 1;
  19.         while (a[l] + a[r] + a[i] > m && r > 1) r--;
  20.         if (r == 1) break;
  21.         while (a[l] + a[r] + a[i] <= m && r > l) {
  22.             while (a[l + 1] + a[r] + a[i] <= m && l + 1 < r) l++;
  23.             ans = max(ans, a[l] + a[r] + a[i]);
  24.             r--;
  25.         }
  26.     }
  27.     cout << ans << '\n';
  28. }
  29.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement