Aragaer
ну да
Alexander
лучшее си устраивало ' \r\t\n'
Alexander
единственная фишка этой задачи что мы можем начать выдавать данные раньше
Alexander
до того как засосали все
Aragaer
то есть всосали строчку, выдали строчку. Всосали вторую, выдали две. Всосали третью, выдали три
Alexander
в питоне правда код не такой
Alexander
он обязывает весь stdin прочитать
Dmitry
что бы начать этим заниматься, надо в разы увеличить вход
Dmitry
иначе нет смысла
Alexander
да и так нету
Dmitry
короче, это тот самое байтоёбство
Aragaer
а кто мне подскажет, какой самый юзер-френдли способ компилять сишные программы на винде?
Alexander
сейчас все сведется к тому, что в сишке for поменяются на те же что в питоне
Dmitry
если уж по взрослому, то надо такой поток сделать, что бы в память одной ноды не влезал
Dmitry
вот тогда заруба будет просто огонь
Dmitry
эластично стартовать ноды на амазоне и по ним раскидывать задачу, хаха
Dmitry
на си
Alexander
вот если с амазоном то да
Alexander
а так тот кто первый сделает mmap и умеет давать хинты
Alexander
типа readahead, notneeded и т.п.
Aragaer
это надо чтоб амазон такую олимпиаду устраивал
Alexander
+
Aragaer
ой, с хинтами у нас были злые наработки в самсунге, чтобы "да, нужна страница, но ее нет, ща раззипуем, но поставим notneeded и ридонли. Ах, вы туда правки вносить хотите? ок, придется удерживать"
Aragaer
чтение из зипа с носителя было быстрее, чем то же чтение без зипа
Alexander
ха
Aragaer
но, очевидно, в ущерб вытесняемой памяти. Поэтому надо было как-то реализовать так, что раззипованная страница считается "чистой" и может быть вытеснена.
Aragaer
ну и пэйдж фолт, который должен попасть в раззипованную страницу, обрабатывался и раззиповывал
Dmitry
уныло
Dmitry
лучше б что-то такое - компилятор чего-нить специфическое в стиле emufat
Dmitry
или кластерное/эластичное
Aragaer
это должно было работать на мобильном телефоне
Aragaer
и прозрачно для выполняемого приложения
Dmitry
ICFP иногда оч крутые были
Dmitry
но это уже не специальная олимпиада, а пожалуй настоящая
Алексей
a66ath
@voidlizard почему С++ входит в 5+ секунд, если в 2-5 на самом деле
Dmitry
мне пофиг что депрекейдет, мне надо что бы где-то было написано КАК НАДО
Dmitry
и все так делали
Aragaer
то есть приложение говорит "а вот хочу проинициализировать класс YetAnotherAdapterImplementation с привязкой на 1000 методов", а мы ему "а мы за тебя уже все сделали, ща подгрузим страничку в твое адресное пространство, где уже все есть"
Dmitry
@iamweasel у меня две наивные версии C++
Dmitry
одна просто пц, вторая полный пц
a66ath
#include <iostream>
#include <algorithm>
#include <list>
#include <deque>
using namespace std;
int main(){
string a, b;
deque<string> as, bs;
while (cin){
cin >> a >> b;
as.push_back(a);
bs.push_back(b);
}
string megastring;
const int max = 1000000 * a.size() * 2;
megastring.reserve(max);
const string e = "\n";
auto iter = begin(megastring);
for(const auto& a : as) {
for(const auto& b : bs){
const string elem{a+b+e};
copy(begin(elem), end(elem), iter);
if(megastring.size() >= max){
cout << megastring;
iter = megastring.begin();
}
}
}
return 0;
}
a66ath
Эту пробовал?
Dmitry
ну, "всё в строку" и "stdout в цикле"
Dmitry
эту кажется нет
a66ath
2.2 -2.4 секунды у меня
Dmitry
добавь её в комент к первому посту самостоятельно плс
Dmitry
я запарился там обновлять пост
a66ath
Уже
Dmitry
хэш не сходится
Alexander
очень часто fortran like массивы структур лучше работают
Alexander
в смысле когда каждое поле в своем массиве
分解物質
分解物質
Алексей
Dmitry
@iamweasel она у меня не выводит ничего вообще
A64m
если не ко всем полям структуры обращаться - очевидно лучше
Alexander
@A64m_qb0 но ко всем обращаемся
a66ath
Интересно 😐
A64m
но не очевидно почему, к примеру, координаты хранящееся в одном подряд хуже, чем в трех
Aragaer
Dmitry
но в цикле то оно тоже должно что-то писать?
Dmitry
там выхлоп 1 гиг
Dmitry
оно что, всё в память нажирает?
Dmitry
так нельзя
Dmitry
выхлоп растёт квадратично от входа
Aragaer
а тут мегастринг на примерно гиг вроде
a66ath
Оно не все в память
a66ath
А кусками
Aragaer
не, код подразумевает куски
eahqzsr
Aragaer
но куски тут размером в гиг
Dmitry
ну, ничего не выводит в любом случае
Aragaer
и последний хвост забыли выплюнуть
Dmitry
заметим, что не выводя ничего - работает 3-с-чем-то секунды
a66ath
Лол
a66ath
Ладно, буду ковырять