➤ Problem Link : 1296D. Fight with Monsters
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int int main() { ll n,a,b,k,val,cnt,pwr; cin>>n>>a>>b>>k; pair<ll,ll> arr[n]; for(int i=0;i<n;i++) { cin>>arr[i].second; arr[i].first = 0; pwr=arr[i].second; if(pwr <= a+b ) val = pwr-a; else { cnt = pwr/(a+b); cnt=cnt*(a+b); if(cnt==pwr) cnt-=(a+b); cnt += a; val = pwr - cnt ; } if(val <= 0) continue; if(val%a==0) arr[i].first = val/a ; else arr[i].first = val/a + 1 ; } // for(int i=0;i<n;i++) // cout<<arr[i].first<<" "; sort(arr,arr+n); int ans=0; cnt=0; for(int i=0;i<n;i++) { cnt+=arr[i].first; if(cnt>k) break; ans++; } cout<<ans; }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!