- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
#include <bits/stdc++.h>
using namespace std;
int B[105], N, k, u, v, i, z;
map<int, int> A;
main()
{
for(cin >> N; cin >> k; B[i++] = k)
++A[k] > v ? v = A[u = k] :
A[k] ^ v ?: u = min(u, k);
for(; z < N; z++)
B[z] == u || cout << B[z] << " ";
while(v--) cout << u << " ";
}
Решение задачи из acmp, первое место по количеству символов, обогнав других участников на 30 и более символов.
Обычное решение задачи, тех которые не участвовали у конке, количество символов от 600-700 символов, тут же 208 символов
можно хуйнуть в последнюю секцию фора
Будет UB, но работать скорее всего будет.
Дай пример ввода/вывода, может чего ещё придумаю.
Есть идея B тоже сделать картой.
А нет, нельзя, я тупанул.
И забивая хуй на другие ограничения - наглядность, модульность, безопасность и т.п.
Да и умение нахуярить кода в стрессовой обстановке за ограниченное время - не самый полезный навык, имхо. Чаще вредный.
Читаемый код может написать кто угодно если захочет, а вот придумать оптимальное решение сложной задачи —– очень немногие.
Будем честными - выбрать среди заученных алгоритмов подходящий для данной задачи. Собственно на это и нацелено большинство "тренировок" олимпиадников.
З.Ы. Я на "тренировки" ложил хуй и нагло юзал "stl" вместо заучивания алгоритмов. Нихуя не занял в итоге, зато натаскал с олимпиад кучу мелких трофеев - мышку, клаву и флешку. Ну и в другой город на пару дней - тоже прикольный экспиренс.
Алгоритм нужно ещё реализовать, причём его ещё можно специализировать для конкретной задачи, чтобы он работал быстрее, ещё бывают задачи где нужно вывести формулу, и те, кто городят циклы в итоге обсираются, бывают задачи с подъёбкой, подумав над которой понимаешь, что на такую то часть задачи ответ всегда один, или вообще для любых входных данных ответ один. Так что задача не только в написании кода.
> нагло юзал "stl" вместо заучивания алгоритмов
Та же хуйня, но "питон". Ещё я читал "Конкретную математику" Кнута но это из собственного интереса. Ещё я читал его "Исскуство программирования", но задолго до олимпиад, она ОЧЕНЬ тяжело идёт, я осили только полтора первых томов, потом смотрел только когда надо интересующие главы.
> мышку, клаву и флешку.
Э, так не честно, у меня только сертификаты, и ими даже жопу не пожотрёшь —– они ламинированые или глянцевые.
На крестах порой удавалось пропихнуть субоптимальную хуйню с циклами, лол. Например внутренний горячий цикл конвертишь в формулу (она как правило очевидна по сравнению с полной), а внешний оставляешь как есть и забиваешь хуй.
Конкретную математику я так и не осилил, к сожалению. Дальше пары глав меня не хватало.
Я слишком тупой для этой книги.
FILE * fopen( const char * fname, const char * modeopen );
я хз откуда он взял fopen(3)
Оно пишет не туда (всегда в конец файла).
Всё работает согласно приведённому тобой ману, проверь :)
Какой из них мне выбрать?
Да, именно так.
Это на сях. И OPEN_ALWAYS под вендой тоже на сях. А кроссплатформенного способа нет, согласен.
Если бы ты что-то полезное и актуальное привёл в духе RTOS'ок для контроллеров... А так - что кроме позиксов да венды сейчас осталось в живых?
А вот кое-что про VxWorks:
Да даже у кастрированных сишколиб под прошивки он часто есть...
Дык "стандартная сишколиба" без "posix" почти неюзабельна и нахуй никому не нужна... Лабы разве что писать? Вот все и реализуют часть прыщей, лол. Не изобретать же ещё одно API.
В glibc и в eglibc я обнаружил реализацию open для ленсука (через сиськолы) и для Mach. Как там с другими платформами, ничего не понял.
В newlib есть реализация open для нескольких операционок (я их названий даже никогда не слышал) через сиськолы, а для RDOS (не знаю, что это такое) через RdosOpenFile.
В dietlibc и в musl есть реализация open только для ленсука через сиськолы.
Теперь откроем самое страшное: библиотеку Watcom C. Есть реализация open для DOS (длинная, сложная), для ленсука (через сиськол), для полуоперационной системы (длинная, через DosOpen), для NT (длинная, через CreateFileA и подобные функции). Для QNX не нашёл, хотя другие функции для QNX там есть.
Неужели QNX-бляди всё-таки соснули?
Х.з. какую реализацию они юзают, но на их сайте open() есть.
Повар на судне?
Какое-то прыщеговно, да ещё и платное. Фу!
Мне всегда было непонятно за каким хуем там вообще строка вместо няшных битовых флагов.
Runtime error at 0x00000000 Invalid pointer operation