-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
38번 문제 시간초과
21.02.17 14:25 작성 조회수 85
0
선생님 안녕하세요. 강의 잘 듣고 있습니다.
38번 문제를 어렵게 어렵게 혼자 풀어봤는데요 답은 잘 나오지만 시간 초과로 채점기에 0점이 나왔습니다.
선생님께서 풀어주신 것과 제 코드를 비교해 보면 pos 변수를 사용 여부 차이 정도 있는 것 같은데 이렇게 코드를 짜면 왜 타임 리밋이 나올까요?
좋은 강의 감사드립니다 :)
#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <cstdlib>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
freopen("input.txt", "rt", stdin);
int n;
cin>>n;
vector<int> is(n+1);
vector<int> os(n+1);
for(int i=1;i<n+1;i++){
cin>>is[i];
}
for(int i=n;i>=1;i--){
for(int idx=i;idx<i+is[i];idx++){
os[idx]=os[idx+1];
}
os[i+is[i]]=i;
}
for(int z=1;z<n+1;z++){
cout<<os[z]<<" ";
}
return 0;
}
답변을 작성해보세요.
0
김태원
지식공유자2021.02.18
안녕하세요^^
제 컴퓨터에서는 100점 나옵니다.
제가 보기에는 index out of range 에러도 없어 보입니다. 혹시 모르니 벡터 잡을 때 n+3정도로 넉넉히 잡아보세요.
답변 1