#include <queue>
#include <vector>
using namespace std;
int solution(int bridge_length, int weight, vector<int> truck_weights) {
int answer = 0;
queue<int> bridge;
queue<int> time;
int go_truck = 0;
int clear_truck = 0;
int hap = 0;
int i;
while(clear_truck < truck_weights.size())
{
answer++;
if(hap+truck_weights[go_truck] <= weight&&go_truck<=truck_weights.size()-1)
{
bridge.push(truck_weights[go_truck]);
hap+=truck_weights[go_truck];
time.push(answer);
go_truck++;
}
if(time.front()-answer>=bridge_length-1)
{
clear_truck++;
hap-=bridge.front();
bridge.pop();
time.pop();
}
}
return answer;
}