Скомпілюй свій розв'язок з оптимізаціями!
Скомпілюй розв'язок з оптимізаціями для NetOI! Без смс та реєстрації отримай розв'язок, який працюватиме у кілька разів швидше!

Disclaimer: Якщо раптом внаслідок використання сервісу щось піде не так, то відповідальності за це ніхто нести не буде. "Щось піде не так" включає в себе наступні пункти (але не обмежується ними):
  • розв'язок стане працювати повільніше, а не швидше,
  • розв'язок перестане працювати взагалі,
  • на комп'ютері з'явиться вірус і знищить дуже важливі дані,
  • у вас помре улюблена домашня тваринка,
  • система NetOI не прийме рішення,
  • журі з надуманих (або ненадуманих) причин дискваліфікує ваше рішення,
  • та ін.

І ще останнє зауваженя. Асемблерний код на виході уже не буде таким крос-платформовим, як ваш оригінальний код. Він працюватиме тільки на 64-бітному лінуксі. При спробі зібрати цей код компілятором під вінду (неважливо, msvc, clang, чи mingw) - ви отримаєте лише купу помилок компілятора/лінкувальника. Тож єдине, на що згодиться отриманий файл - це відправка його на перевірку в NetOI. Але якщо під рукою є лінукс, то можете і локально скомпілювати з gcc і перевірити, чи точно все працює.

Окремо ще додам зауваження на випадок, якщо це не очевидно. Коли рішення буде відправлено на оптимізацію - воно потрапить до мене на сервер. І теоретично я міг би це рішення вкрасти і наприклад відправити від свого імені, чи викласти кудись в загальний доступ. На практиці файли з рішеннями не зберігаються і видаляються одразу ж, як тільки процес компіляції закінчується і оптимізований файл відправлено. Але вірити мені ви не зобов'язані (врешті решт, ви навіть імені мого не знаєте), тож якщо боїтеся, що ваше рішення буде вкрадено - не використовуйте даний сервіс.

Якщо не злякалися, то обирайте файл у формі нижче і тисніть "Оптимізуй!!1!"

П.С. На даний момент NetOI не приймає рішення рішення, прогнані через даний сервіс. Можливо колись у мене дійдуть руки і я сервіс перероблю, щоб він видавав код без асм вставок, але це потребуватиме багато часу, а його у мене немає :) Тож поки що практичного сенсу у користуванні цим сервісом немає. Але з академічною, чи ще якоюсь метою - він до ваших послуг.

П.П.С. NetOI знову приймає рішення рішення, прогнані через даний сервіс. Не знаю, чи це свідоме рішення журі, чи так сталося випадково в процесі оновлення системи. У будь-якому випадку, знову з'явився сенс використовувати даний сервіс (бо оптимізації компілятора в новій системі вимкнені, як і у старій). Але ризики залишаються ті самі, тому раджу про всяк випадок перечитати дісклеймер, перш ніж користуватися оптимізатором.

 
Текст розв'язку:
Стандарт C++:
Пропатчити асемблерний код для обходу багу у старій версії лінкера, що стоїть на сервері NetOI:
Якщо не розумієш, про що мова - краще залиш галочку як є