Проблема с лямбда функцией, вроде написал сортировку вектора по остаткам по возрастанию, так, чтобы числа с одинаковыми остатками выводились по возрастанию но она не работают, я ещё не совсем разбираюсь в сортировка по лямбда выражениям подскажите где накосячил плиз.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n, k;
cin >> n >> k;
vector<ll> V(n);
for(int i = 0; i < n; i++) cin >> V[i];
sort(V.begin(), V.end(), [&k](ll a, ll b)
{
return (a % k < b % k);
});
sort(V.begin(), V.end(), [&k](ll a, ll b)
{
return (a % k == b % k && a < b);
});
for(int i = 0; i < n; i++) cout << V[i] << " ";
Я бы использовал
sort(V.begin(), V.end(), [k](ll a, ll b)
{
return (a%k == b%k) ? a < b : a%k < b%k;
}
);
По-моему, то, что надо: https://ideone.com/OfIE0t
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть файл с 40 вопросамиМоя задача, поместить все 40 вопросов в вектрок, после чего, выводить от туда один рандомный вопрос
Знаю, что нужно вызвать f() первыйм или вторым вариантомНо почему является ошибкой просто вызов f(); ? Ведь и так ясно, что вызывается для данного...
как выделяется память под контейнеры vector, map в с++