오늘 코포 div1 C번 문제인데
틀린 코드에서 입력을 고쳤더니 맞는 기현상이 일어남.
이건 sum을 int로 선언하고 계산할 때만 앞에 (double)을 붙여준거
for (i = 1;i <= n;i++)
{
scanf("%d", &sum[i]);
num[i] = sum[i];
sum[i] += sum[i - 1];
}
https://codeforces.com/contest/1299/submission/70677143
계속 틀려서 sum을 double로 선언하고 입력도 고친거
for (i = 1;i <= n;i++)
{
int a;
scanf("%d", &a);
num[i] = a;
sum[i] += sum[i - 1] + a;
}
https://codeforces.com/contest/1299/submission/70677929
다른 거 다 안바꾸고 입력만 바꿨는데 위 코드는 틀리고 아래 코드는 맞았음.
틀린 게 double오차 때문인 건 알고 있었는데 이게 왜 이걸로 고쳐지냐?
10^6 * 10^6 = 10^12
아 그렇네 double오차 문제가 아니었구나