一道简单题: #include<iostream> #include<vector> #include<algorithm> using namespace std; class OptimalQueues{ public: int minWaitingTime(vector <int> clientArrivals, int tellerCount, int serviceTime){ sort(clientArrivals.begin(),clientArrivals.end()); int pos=clientArrivals.size()%tellerCount; pos=(pos+tellerCount-1)%tellerCount; return clientArrivals[pos]+(clientArrivals.size()-1)/tellerCount*serviceTime+serviceTime; } }; int main() { freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); OptimalQueues f; int n; while(1){ cin>>n; vector<int> v;int count,time; v.resize(n); if(!n)break; for(int i=0;i!=v.size();i++) cin>>v[i]; cin>>count>>time; cout<<f.minWaitingTime(v,count,time)<<endl; } } // //#include<iostream> //#include<ctime> // //using namespace std; //int main() //{ // freopen("in.txt","w",stdout); // srand(time(0)); // for(int i=0;i<100;i++){ // int _size=rand()%100+1; // cout<<_size<<endl; // for(i=0;i<_size;i++) cout<<rand()%100+1<<" "; // cout<<endl<<rand()%_size+1<<" "<<rand()%100+1<<endl; // } // cout<<0<<endl; //}