luogu P1094 纪念品分组
1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 int main() 5 { 6 int w,n,p[31000],res = 0; 7 cin >> w; 8 cin >> n; 9 for (int i = 1;i <= n;i++) 10 cin >> p[i]; 11 sort(p + 1,p + n + 1); 12 //i是还没分组的最便宜的纪念品的下标 13 //j是还没分组的最贵的纪念品的下标 14 for (int i = 1,j = n;i <= j;) 15 { 16 if (p[i] + p[j] <= w) 17 { 18 i++; 19 j--; 20 res++; 21 } 22 else 23 { 24 j--; 25 res++; 26 } 27 } 28 cout << res << endl; 29 return 0; 30 }
心之所动 且就随缘去吧