#include <string>
#include <vector>
#include <queue>
using namespace std;
 
int solution(int stock, vector<int> dates, vector<int> supplies, int k) 
{    
    priority_queue<intvector<int>, less<int>> pq;
    
    int day = 0;
    int idx = 0;
    int ans = 0;
    
    while(1)
    {
        day++;
        stock--;
        
        if(day == k)
        {
            break;
        }
        
        // 공급하는 날이 됬으면, 공급량 저장
        if(dates[idx] == day)
        {
            pq.push(supplies[idx]);
            idx++;
        }
        
        // 재고가 0일때 밀가루 공급
        if(stock == 0)
        {
            stock += pq.top();
            pq.pop();
            ans++;
        }
    }
    
    return ans;
}
cs

+ Recent posts