UVA1149(装箱)
基本贪心思想,因为只能装两个,所以肯定优先装最重的,再装最轻的。
输出格式有点坑。
1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 int main() 6 { 7 int t,n,i,m; 8 int a[100860]; 9 cin >> t; 10 while(t--) 11 { 12 cin >> n >> m; 13 for(i=0; i<n; i++) 14 cin >> a[i]; 15 sort(a,a+n); 16 int left = 0,right = n-1,sum = 0; 17 while(left<=right) 18 { 19 if(a[left]+a[right]<=m) 20 { 21 sum++; 22 left++; 23 right--; 24 } 25 else 26 { 27 sum++; 28 right--; 29 } 30 } 31 cout << sum << endl; 32 if(t)cout << endl;//这个地方没有if(t)就是PR... 33 } 34 return 0; 35 }