По какой логике надо искать ?
S1 s1 = (S1){1, 1};
printf("A: %d, B: %d", s1);
стоит учесть внутреннюю реализацию функции range?
Попытался убрать return у GetLastError, однако ничего также не изменилось
// формируем командную строку
printf(lpszComLine, ...);
chcp 65001
if errorlevel
. Описание можно нагуглить, например тут: https://ss64.com/nt/errorlevel.htmlQuickSelect, если его попросить k-ый c конца элемент, как раз положит максимальные k-1 справа от него. Ровно как в задаче и надо. И все это за O(n) в среднем.
struct gist_s {int val, count; };
). Это несколько увеличивает затраты по памяти в 2 раза, но это не критично.
Название пункта говорит само за себя - вы указали дополнительный путь где компилятор будет искать файлы заголовков, чтоб их можно было включить директивой #include.
То, о чем я писал выше вы не сделали. Как написал Александр Ананьев, библиотеку надо добавить еще и в опции Linkerа.
Но что бы это добавление работало, библиотека должна быть доступна компилятору, т.е. уже собрана как статическая или динамическая библиотека (см. коментарий Станислав Макаров ).
В микрософтовском компиляторе используются lib файлы для компоновки с библиотеками. В случае со статической библиотекой lib файл содержит саму библиотеку в бинарном виде. Для динамической библиотеки dll библиотеки будет лежать отдельно, а в lib файле будут только ссылки на dll.
При компоновке нужен lib файл библиотеки.
При запуске вашей программы в случае использования динамической библиотеки dll должна быть доступна загрузчику ОС, lib файл на этом этапе не используется.