Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- #define mini -100000
- int main(){
- int h, x, y, n=1, sum=0;
- cin>>h>>x>>y;
- while(n<h)
- n*=2;
- int a[2*n], b[2*n];
- for(int i=1; i<=h; i++){
- cin>>a[i+n-1];
- b[i+n-1]=i;
- }
- for(int i=h+1; i<=n; i++){
- a[i+n-1]=mini;
- b[i+n-1]=i;
- }
- for(int i=n-1; i>0; i--){
- if(a[i*2]>a[i*2+1]){
- a[i]=a[i*2];
- b[i]=b[i*2];
- }
- else{
- a[i]=a[i*2+1];
- b[i]=b[i*2+1];
- }
- }
- // cout<<a[1]<<endl;
- while(a[1]>0){
- for(int i=1; i<=n; i++){
- a[i+n-1]-=y;
- }
- a[b[1]+n-1]-=x-y;
- for(int i=n-1; i>0; i--){
- if(a[i*2]>a[i*2+1]){
- a[i]=a[i*2];
- b[i]=b[i*2];
- }
- else{
- a[i]=a[i*2+1];
- b[i]=b[i*2+1];
- }
- }
- /* cout<<"max(a): "<<a[1]<< " max(b):"<<b[1]<<endl;
- for(int i=n; i<=n+h-1; i++)
- cout<<a[i]<<' ';
- cout<<endl; */
- sum++;
- }
- cout<<sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement