지금 N의 최대값이 2십만입니다. 근데 a 배열을 1000밖에 안잡았으므로 당연히 런타임오류가 나올수 밖에 없지요
10800번 - 컬러볼
지금 N의 최대값이 2십만입니다. 근데 a 배열을 1000밖에 안잡았으므로 당연히 런타임오류가 나올수 밖에 없지요
이제 시간초과가 뜨네요. N의 최대값이 200000이므로 N^2 알고리즘으로는 풀 수없습니다.
N 이나 NlogN만에 풀 수 있는 알고리즘 방법을 생각하세요!
댓글을 작성하려면 로그인해야 합니다.
khj3191 7년 전
#include <stdio.h>
int main()
{
int a[3][1000]={};
int i=0, j=0, s=0;
scanf("%d", &s);
for(i=0; i<=s-1; i++)
scanf("%d %d", &a[0][i], &a[1][i]);
for(i=0; i<=s-1; i++)
{
for(j=0; j<=s-1; j++)
{
if(i==j || a[0][i]==a[0][j] || a[1][i]<=a[1][j]) continue;
a[2][i]+=a[1][j];
}
printf("%d\n", a[2][i]);
}
return 0;
}
왜일까요?