请写一个程序:读入独木舟的最大承载量,旅客的数目和每位旅客的重量;根据给出的规则,计算要安置所有旅客所必须最少的独木舟的条数;把结果输出。
标签:clipboard text efault for roc col clip data- return
100
9
90
20
20
30
50
60
70
80
90
6
#include <bits/stdc++.h> using namespace std; const int maxn = 30005; int main() { int w; int n; scanf("%d",&w); scanf("%d",&n); int a[maxn]; for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); // for(int i=0;i<n;i++) // printf("%d ",a[i]); int ans = 0; int now = n-1; for(int i=0;i<=now;i++) { if(i==now) { ans++; break; } if(a[i]+a[now]>w) { now--; i--; ans++; continue; } else { now--; ans++; } } printf("%d",ans); return 0; }
标签:clipboard text efault for roc col clip data- return
原文地址:https://www.cnblogs.com/hao-tian/p/10146942.html