贪心算法之加勒比海盗问题
//program 2-1 #include <iostream> #include <algorithm> const int N=1000005; using namespace std; double w[N]; //古董的重量数组 int main() { double c; int n; cin>>c>>n; for(int i=0; i<n; i++) { cin>>w[i]; //输入每个物品重量 } sort(w,w+n); //按古董重量升序排序 double tmp=0.0; int ans=0; // tmp为已装载到船上的古董重量,ans为已装载的古董个数 for(int i=0; i<n; i++) { tmp+=w[i]; if(tmp<=c) ans++; else break; } cout<<ans<<endl; return 0; }
无欲则刚 关心则乱