На форумі обговорюються лише питання, пов'язані з олімпіадою
Ви не зайшли.
Жюри_Пасихов написав:
Задания проверены в режиме официальной проверки. Результаты доступны на сайте. Работает он-лайн проверка на полном наборе тестов. Напоминаем о возможном несовпадении (1-2 теста) с результатами официальной проверки. Это не повод для апелляции - просто очень жесткий лимит времени с одной сторны и разные режимы работы системы - с другой. Если есть несовпадение - повторите проверку. Вероятнее всего тот самый "злополучный" (если есть) несовпадающий тест будет давать результаты "через раз" по времени. Задания 3-го тура - в Новогоднюю ночь :-) (точнее- сразу после нее). С наступающим Новым Годом!"
Вы имеете ввиду что 3-й тур начнется 01.01.2012 утром?
Поза форумом
Дядя шутит.
Точної дати ніхто не знає, бо, як уже говорилося раніше, журі не приурочує публікацію задач до річниці визначної події, а публікує, коли доходить думки, що все більш-менш готово.
Поза форумом
Ilya Porublyov написав:
LGod написав:
В задачі Platforms тест 3 відповідає всім технічним умовам? Видає ТЛ, а якщо я додаю до своєї програми таке: if (N < 2) {cout << 0 << endl; return 0;} то видає WA. А згідно умови N>=2.
Схоже, Ви праві, а журі припустилося прикрої помилки. Найімовірніше, даний тест буде замінено на інший і проведено перетестування розв'язків даної задачі (всіх учасників). Остаточну офіційну відповідь буде дано трохи пізніше (можливо, завтра). Дякую за уважність та за толерантний тон ведення дискусії.
Я все ще чекаю офіційної відповіді=)
Поза форумом
Я отослал вот это решение http://pastebin.com/faMj9tkP по задаче Platforms . После официальной проверки я получил за нее 10 баллов ( что странно , считая что я учел вариант когда можно прыгать назад , а люди , которые это не учли получали 11 баллов за эту задачу ) . После этого я изменил тип всех переменных с long long на int . Перетестировав решение я получил 29 баллов за эту задачу.
Поза форумом
glina написав:
Я отослал вот это решение http://pastebin.com/faMj9tkP по задаче Platforms . После официальной проверки я получил за нее 10 баллов ( что странно , считая что я учел вариант когда можно прыгать назад , а люди , которые это не учли получали 11 баллов за эту задачу ) . После этого я изменил тип всех переменных с long long на int . Перетестировав решение я получил 29 баллов за эту задачу.
Проблема не у цьому. %I64d для 64-бітних цілих використовує рантайм віндовс. А для лінукса треба використовувати %lld. А перевірка ведеться під лінуксом.
Поза форумом
Это печально Спасибо за ответ , буду знать.
Поза форумом
А лучше всего (если ввод/вывод не является узким местом) вводить/выводить long long через iostream. Это немного медленнее, но зато не зависит от того, в какой среде собирается программа.
Поза форумом
где ты, третий тур?
Поза форумом
Зевс написав:
Уважаемое Жюри, мне все-таки хотелось бы узнать, как устроена проверка тестов в задаче SumOfPowers и почему программа:
#include <iostream>
using namespace std;
int main()
{
int k, m, n;
scanf("%d%d", &k, &m);
for (int i=0; i<m; printf(" "), ++i) {
scanf("%d", &n);
if (k >= 20) printf("0"); else
if (k >= 13) printf("0"); else
if (k == 1) printf("0"); else
printf("0");
}
}
на некоторых тестах на онлайн проверке получает ТЛ?
Хотелось бы разобраться в этом, чтобы в будущем не делать таких же ошибок.
Заранее спасибо!
Поза форумом
Все-таки хотелось бы вернуться к вопросу о поочередном вводе/выводе, и вообще проблеме с ТЛ в задаче SumOfPowers.
Я отправил две простенькие программки на онлайн проверку (и вроде бы никаких проблем с АNSI - совместимостью в них нет):
Код:
#include <iostream>
using namespace std;
int main()
{
int m, n;
cin>>m>>m;
for (int i=0; i<m; ++i) cin>>n;
for (int i=0; i<m; ++i) cout<<"0 ";
}
Код:
#include <iostream>
using namespace std;
int main()
{
int m, n;
cin>>m>>m;
for (int i=0; i<m; ++i) {
cin>>n;
cout<<"0 ";
}
}
Так вот первая программа на всех тестах работает быстро (без ТЛ), а вторая на некоторых (в общем-то на тех же, что и раньше) выдает ТЛ.
Может ли Жюри подробнее объяснить, в чем проблема?
Поза форумом
Зевс написав:
Все-таки хотелось бы вернуться к вопросу о поочередном вводе/выводе, и вообще проблеме с ТЛ в задаче SumOfPowers.
Я отправил две простенькие программки на онлайн проверку (и вроде бы никаких проблем с АNSI - совместимостью в них нет):
Код:
#include <iostream>
using namespace std;
int main()
{
int m, n;
cin>>m>>m;
for (int i=0; i<m; ++i) cin>>n;
for (int i=0; i<m; ++i) cout<<"0 ";
}
Код:
#include <iostream>
using namespace std;
int main()
{
int m, n;
cin>>m>>m;
for (int i=0; i<m; ++i) {
cin>>n;
cout<<"0 ";
}
}
Так вот первая программа на всех тестах работает быстро (без ТЛ), а вторая на некоторых (в общем-то на тех же, что и раньше) выдает ТЛ.
Может ли Жюри подробнее объяснить, в чем проблема?
Может. Проблема заключается в том, что входной и выходной поток (stdin и stdout) буферизированы, а размер буфера (какой бы ни был установлен) всгда конечен. Данные накапливаются в буфере и обрабатываются в режиме очереди. При последовательном чтении/записи при неком (большом) размере входных данных возможна ситуация, что входной буфер переполняется (аналогично тому, что вам не удастся ввести как угодно большую сторку с клавиатуры, пока вы не введете признак конца строки вывод не произойдет). Далее понятно. Во избежания подобных ситуаций следует по возможности избегать выводить результат до окончания чтения, накапливая его, например, в какой-то переменной. Проверяющая система, по крупному счету, тут ни при чем, кроме того, что "честно" хочет выполнить свою функцию - прочитать очередную "порцию", а она не поступает по вышеописанной причине.
Поза форумом