ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1001. Обратный корень

1001::C::Wrong answer
Послано Alex 9 июн 2011 19:27
== code ==
#include <stdio.h>
#include <math.h>
#define MAXBUF 256000
#define MAXCOUNT 131072

#define MAX 1000000000000000000

#define IN 1
#define OUT 0

main()
{
    int state = OUT;
    int c, nc = 0;
    int cnt = -1;
    long dig[MAXCOUNT];
    while (((c = getchar()) != EOF)&&(nc<MAXBUF))
    {
        ++nc;
        if (isdigit(c))
        {
            if (state == OUT)
            {
                state = IN;
                dig[++cnt]=c-'0';
            }
            else
            {
                dig[cnt]=dig[cnt]*10+c-'0';
                if (dig[cnt]>MAX)
                {
                    dig[cnt]=(dig[cnt]+'0'-c)/10;
                    dig[++cnt]=c-'0';
                }
            }
        }
        else
        {
            state = OUT;
        }
    }
    for (;cnt>=0;cnt--)
        printf("%.4f\n",sqrt(dig[cnt]));
}
==code ==
Why?
Re: 1001::C::Wrong answer
Послано hatred 9 июл 2011 22:01
256KB != 256000B
try #define MAXBUF 256*1024