작성
·
228
0
같은 코드인데, 한번은 array(배열)로, 한번은 vector로 두었습니다.
array로 했을 때는 4번예제에서 time_limit이 났는데 vector로 했을 때는 다 success였습니다. 같은 경우엔 array가 더 빠른거 아닌가요? 왜 이러죠
#include <iostream>
#include <vector>
int main(void)
{
int n, k, max, sum = 0;
std::vector<int> tem(100001);
scanf("%d %d", &n, &k);
tem[0] = 0;
for (int i = 1; i <= n; i++) {
scanf("%d", &tem[i]);
sum += tem[i];
if (i == k)
max = sum;
else if (i >= k) {
sum -= tem[i - k];
if (sum > max)
max = sum;
}
}
printf("%d", max);
return 0;
}
#include <iostream>
int main(void)
{
int n, k, max, sum = 0;
int tem[100001];
freopen("input.txt", "rd", stdin);
scanf("%d %d", &n, &k);
tem[0] = 0;
for (int i = 1; i <= n; i++) {
scanf("%d", &tem[i]);
sum += tem[i];
if (i == k)
max = sum;
else if (i >= k) {
sum -= tem[i - k];
if (sum > max)
max = sum;
}
}
printf("%d", max);
return 0;
}
답변 1
0
안녕하세요^^
같은 코드이면 벡터가 좀 느리다고 저도 알고있습니다. 저는 벡터나 배열이나 속도 차이는 거의 없다고 보는 입장입니다. 특히 하나는 통과되고 하나는 타임리밋이 날 정도의 차이는 아니라고 생각하는데 저도 뭐라 답하기 힘드네요.