// Contoh Bab 12: dua penunjuk dari ujung berlawanan. // // Compile: g++ -std=c++17 -O2 -o perahu exercises/12/04-perahu.cpp // Jalankan: ./perahu // Contoh masukan: 5 100 // 90 20 30 70 50 #include #include using namespace std; const int MAKS = 200005; int b[MAKS]; int main() { int n, k; cin >> n >> k; for (int i = 0; i < n; i++) cin >> b[i]; sort(b, b + n); int kiri = 0, kanan = n - 1, perahu = 0; while (kiri <= kanan) { if (b[kiri] + b[kanan] <= k) kiri++; kanan--; perahu++; } cout << perahu << "\n"; return 0; }