所有人有一个初始的生命值,一个警官要杀一个人则该人的生命值减p,其他人则减Q,最少要杀多少次才可以把所有人杀掉。
百度笔试手速太慢。没敲上去,可怜,
#include<iostream>
using namespace std;
void getMax(int a[],int n){
for(int i=0;i<n-1;i++){
if(a[i]>a[i+1]){
int temp = a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
bool isEnd(int a[],int n){
for(int i=0;i<n;i++){
if(a[i]>0) return false;
}
return true;
}
void print(int a[],int n){
for(int i =0;i<n;i++)cout<<a[i]<<" ";
}
int main(){
int n,p,q;
while(cin>>n>>p>>q){
int a[n],ans=0;
for(int i =0;i<n;i++)cin>>a[i];
// for(int i =0;i<n;i++)cout<<a[i]<<" ";
getMax(a,n);
// cout<<a[3]<<endl;
while(!isEnd(a,n)){
a[n-1]-=p;
for(int i=0;i<n-1;i++) a[i]-=q;
getMax(a,n);
// print(a,n);
ans++;
}
cout<<ans<<endl;
}
}