오늘 코포 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오차 때문인 건 알고 있었는데 이게 왜 이걸로 고쳐지냐?