刚开始还以为是一种花只能买一朵。。。其实不然。。。
用set搞了半天。。
#include<iostream>
#include<set>
using namespace std;
int main()
{
int n,m;//n种花,m元钱
while(cin>>n>>m)
{
int a[n],i,sum=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
set<int> is(a,a+n);
for(set<int>::const_iterator c_i=is.begin();c_i!=is.end();c_i++)
{
if(sum<=m&&i<=n)
{
sum+=*c_i;
i++;
}
}
cout<<i<<endl;
}
return 0;
}
其实是这样的。。。
#include<iostream>
using namespace std;
int main()
{
int n,m,ls[1000];
while(cin>>n>>m)
{
for(int i=0;i<n;i++)
cin>>ls[i];
int min=10000000;
for(int j=0;j<n;j++)
if(ls[j]<min)
min=ls[j];
cout<<m/min<<endl;
}
return 0;
}