multi 배열이 multi[1001][100001] 의 크기를 잡으셨는데 이 경우에
heap 메모리 초과여서 런타임 에러가 발생합니다.
또한 전역변수로 배열을 잡으셔도 메모리 초과가 발생하겠네요.
또한 memset(count,0,n*4); for(i=0;i<n+1;i++) memset(multi[i],0,n*4);
이 파트에서 multi[i]의 크기는 (k+1)*4인데 n*4로 하셨네요. 다시 말해 n < k 경우
런타임 에러가 발생합니다.
추가적으로 memset(fin,0,sizeof(fin)*4); 이 아니라 memset( fin, 0, sizeof(fin) );
으로 하셔야 하고 이 역시 런타임 에러의 원인 같네요.
gusals224 8년 전
알고리즘은 다음과같습니다.
1부터 N까지 건물순서 중에 거꾸로 봤을때 두갈래인거
예를들어
1 3
2 3
인경우
1
3
2
과같이 3을 만들기 위한 경우가 두갈래 이상인경우만 따로 배열에 저장해두고
3 1
3 2
과같이 거꾸로 배열을 채운뒤 시간을 모두 합해보고 가장 많이걸리는 시간이
최종 걸리는시간으로 풀었는데요... 런타임에러가 자꾸 나오네요;;