#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
int main()
{
FILE *fp = fopen("input.txt", "r");
queue <int> Q;
int n, w, L, ai;
int i;
int weightsum = 0;
int count = 0;
int time = 0;
fscanf(fp, "%d %d %d", &n, &w, &L);
for (i = 0; i < n; i++)
{
fscanf(fp, "%d", &ai);
while (1)
{
time++;
if (count == w)
{
count--;
weightsum -= Q.front();
Q.pop();
}
if (weightsum + ai > L)
{
weightsum += 0;
Q.push(0);
count++;
}
else if (weightsum + ai <= L)
{
weightsum += ai;
Q.push(ai);
count++;
break;
}
}
}
time += w;
printf("%d", time);
}
위 문제를 queue를 구현해서 풀어봤는데요.
채점서버에 제출하니 시간초과라서 제출이 안되네요..--;; 어디서 시간을 많이 잡아먹는걸까요?
항상 많은 도움 주셔서 감사합니다.