13 條題解
-
0
#include<algorithm> using namespace std; int i, j, N, maxload, num, cnt, nums[1009], left, right; bool cmp(int a, int b) { return a < b; } int main (void) { scanf("%d", &N); while (N--) { cnt = 0; scanf("%d %d", &maxload, &num); for (i = 0; i < num; i++) { scanf("%d", &nums[i]); } sort(nums, nums + num, cmp); // for(i=0;i<num;i++){ // printf("%d ",nums[i]); // } // printf("\n"); left = 0; right = num - 1; j = 1; while (left <= right) { // printf("变之前:\n"); // printf("第%d次: left=%d right=%d \n", j, left, right); if (nums[left] + nums[right] <= maxload) { cnt++; left++; right--; } else { right--; cnt++; } if (left >right) { break; } // printf("变之后:\n"); // printf("第%d次: left=%d right=%d \n", j, left, right); // printf("cnt=%d\n",cnt); j++; } printf("%d\n", cnt); } }
資訊
- ID
- 148
- 時間
- 3000ms
- 記憶體
- 128MiB
- 難度
- 6
- 标签
- (無)
- 遞交數
- 668
- 已通過
- 220
- 上傳者