C++旅馆问题。

时间:2022-02-19 12:33:48

有总钱数

有每房每天住需要多少钱

问最少可以住几天

最后输入的是钱数。前边输入没个住所每天多少钱

例如:

1001 1002 1003 1004 1000

-1

100 500 600

最少一天,最多2天

写了一个程序但是估计还是考虑不周只有0.5的通过率

 #include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int x;
vector<int> vec;
int sum=; while(cin>>x){
vec.push_back(x);
}
sum=vec.back();
vec.pop_back();
vector<int>::iterator it;
int flage=;
for(it=vec.begin();it!=vec.end();it++)
{
if(*it>sum)
{
flage=;
}
else{
flage=;
}
}
if(flage==)
{
cout<<-<<endl; }
else{
sort(vec.begin(),vec.end(),greater<int>());
int count=;
for(it=vec.begin();it!=vec.end();it++){
if(*it<=sum&&sum>){
count+=sum/(*it);
sum=sum%(*it);
}
}
cout<<count<<endl;
}
return ;
}

可能对这个最多最少还是不太理解。。。。。。。。。。。。。。。。。。。