Solution 1 for Scaler Topics Fortnightly Contest - 16
Learn via video course

DSA Problem Solving for Interviews using Java
by Jitender Punia
1000
4.9
Water Supply Complete Solution
This article is part of the Scaler Topics Fortnightly Contest - 16
Build an AI-First Career, Master the Complete Skillset
Choose from our industry-leading programs designed for career success
NSDC Certified
Modern Software and AI Engineering Program
Master full-stack development with AI integration
12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
+1000 moreNSDC Certified
Modern Data Science and ML with specialisation in AI
Advanced data science techniques with AI specialization
12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
+1000 moreNSDC Certified
Advanced AIML with Specialisation in Agentic AI
Deep dive into AIML with focus on Agentic systems
12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
+1000 moreNSDC Certified
DevOps, Cloud & AI Platform Engineering
Build and manage AI-powered cloud infrastructure
12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
+1000 moreNSDC Certified
AI Engineering Advanced Certification by IIT-Roorkee
Premier AI engineering certification from IIT-Roorkee
3 MonthsDuration
AI-LedCurriculum
Career SupportSupport
NSDC Certified
AI Forward Deployed Engineer Program
Full-stack engineering, production AI and client-facing consulting
12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
+1000 moreSolution Approach
- Closing outgoing hole of large taps is similar to selecting taps with smaller outgoing hole and closing rest of them.
- So, first we can reverse the array C. So, that the last tap which should always be open come to first position.
- Now, we can sort the array from second element to last. So, that we can take them one by one and closing rest of all. Now, our equation is (C[i]*A)/X, where X is the sum of hole size of all the open taps. So, now last tap has become first one. So, (C[0]*A)/X >= B.
- Now, it becomes >= X*B
- This means we can iterate on the sorted array C and take all taps one by one until we get < X*B, where X is the sum of taps taken till now. And if all taps are taken than answer is 0.
Time Complexity - O(C*log(C)) Space Complexity - O(1)
C++ Implementation
Sharpen Your Fundamentals with Free Learning
Java Implementation
How Scaler Transformed Careers in Different Fields
₹23L
AVG CTC
SCALER PLACEMENT PROOF
Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.
11,000+placements
650+companies
Verified data
See full placement report
Hiring Partners:
Google
Amazon
Microsoft
Flipkart
Adobe1200+ more