22 lines
495 B
C++
22 lines
495 B
C++
|
|
#include <bits/stdc++.h>
|
|||
|
|
|
|||
|
|
using namespace std;
|
|||
|
|
int w, n;
|
|||
|
|
const int N = 30010;
|
|||
|
|
int a[N];
|
|||
|
|
//双指针
|
|||
|
|
int h = 1, t = n, cnt;
|
|||
|
|
|
|||
|
|
int main() {
|
|||
|
|
cin >> w >> n;
|
|||
|
|
for (int i = 1; i <= n; i++)cin >> a[i];
|
|||
|
|
sort(a + 1, a + 1 + n);
|
|||
|
|
|
|||
|
|
//双指针,太聪明的办法了
|
|||
|
|
while (h <= t)
|
|||
|
|
if (a[t] + a[h] > w) cnt++, t--; //装不下的话,a[t]独立成组
|
|||
|
|
else cnt++, t--, h++;//能装下的话,a[t]+a[h]为一组
|
|||
|
|
|
|||
|
|
cout << cnt << endl;
|
|||
|
|
return 0;
|
|||
|
|
}
|