• C++11. Почему выдается ошибка? В код сильно не вникайте, алгоритм правильный. Ошибка request for member 'sort' in 'vec', which is of non-class type 'std::pair, int> [1050]' при сортировке.
    #include
    #include
    using namespace std;
    int A[505][505];
    pair, int> vec[1050];
    bool comp(pair, int> a, pair, int> b) {
    if(a.first.size() != b.first.size()) return a.first.size() < b.first.size();
    else {
    int amax = -1, asum = 0;
    for(auto it = a.first.begin(); it != a.first.end(); it++) {
    asum += *it;
    amax = max(amax, *it);
    }
    int bmax = -1, bsum = 0;
    for(auto it = b.first.begin(); it != b.first.end(); it++) {
    bsum += *it;
    bmax = max(bmax, *it);
    }
    return asum < bsum or (asum == bsum and amax < bmax);
    }
    }
    main() {
    int n, m;
    cin >> n >> m;
    for(int i = 1; i <= n; i++) {
    for(int j = 1; j <= m; j++) {
    cin >> A[i][j];
    }
    }
    for(int d = 2; d <= m + n; d++) {
    int f;
    for(f = (m < d ? d - m + 1 : 1); f <= d; f++) {
    vec[d].first.push_back(A[f][d - f]);
    }
    vec[d].second = d - 1;
    }
    vec.sort(vec + 1, vec + m + n + 1, comp);
    for(int i = 1; i <= n + m; i++) {
    cout << vec[i].second << " ";
    }
    }

Ответы 2

  • нет, я разобрался. sort неправильно использую
  • неправильное использование std:pair
    • Автор:

      aguilar
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years