Nhỏ nhất
Xem dạng PDF        
            Gửi bài giải
        
    
        
        
    
    
    
    
    
        
        
                
        
            
        
        Điểm:
        
                20,00 (OI)        
    
    
        Giới hạn thời gian:
        1.0s
    
    
        Giới hạn bộ nhớ:
        256M
    
    
            Input:
            stdin
        
        
            Output:
            stdout
        
    
                    Dạng bài                
                
        
                Ngôn ngữ cho phép
            
            
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch            
        Một công ty có ~n~ sản phẩm, sản phẩm thứ i có chất lượng là ~a_i~ (~1\le a_i \le 10^6~). Mỗi ngày công ty phải giao đúng ~k~ sản phẩm nếu số sản phẩm của công ty nhiều hơn hoặc bằng ~k~, ngược lại phải giao hết số sản phẩm theo nguyên tắc:
- Ở ngày đầu tiên chất lượng sản phẩm được giao không nhỏ hơn 1.
- Ở ngày thứ hai chất lượng sản phẩm được giao không nhỏ hơn 2.
- Ở ngày thứ ba chất lượng sản phẩm được giao không nhỏ hơn 3. ………
- Ở ngày thứ i chất lượng sản phẩm được giao không nhỏ hơn i.
……… 
 Quá trình giao hàng sẽ dừng lại khi đã giao hết hàng, hoặc không thể giao được nữa. Do có chiến lược giao hàng tối ưu, nên công ty đã giao hết số sản phẩm.
Yêu cầu: Hãy tìm giá trị nhỏ nhất của ~k~.
Dữ liệu vào:
- Dòng đầu: Số nguyên dương ~n~ (~n < 10^6~)
- Dòng hai: Dãy số nguyên dương ~a_1, a_2, a_3,…, a_n~ (~a_i < 10^6~, ~1 \le i \le n~)
Dữ liệu ra:
- Một số nguyên duy nhất theo yêu cầu.
Ví dụ:
Input
7
3 1 4 2 3 4 4
Output
2
Giải thích:
- Nếu mỗi ngày công ty giao 1 sản phẩm thì còn lại ít nhất 3 sản phẩm. Chẳng hạn ngày đầu giao sản phẩm có chất lượng 1, ngày thứ hai giao sản phẩm có chất lượng là 2, ngày thứ ba giao sản phẩm có chất lượng là 3, ngày thứ tư giao sản phẩm có chất lượng là 4. Như vậy còn 3 sản phẩm không được giao là 3, 4, 4.
- Nếu mỗi ngày công ty giao 2 sản phẩm và do công ty có chiến lược hợp lí nên đã giao hết hàng, chẳng hạn: ngày đầu giao sản phẩm có chất lượng 1 và 2, ngày thứ hai giao 2 sản phẩm có chất lượng là 3, ngày thứ 3 giao 2 sản phẩm có chất lượng là 4, ngày thứ tư giao sản phẩm còn lại có chất lượng 4.
Giới hạn dữ liệu:
- 60% bộ test có ~n <10^3~;
- 40% bộ test không giới hạn gì thêm.
Bình luận
?