QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#598583#9370. Gambling on Choosing RegionalsEvalon#Compile Error//C++141.7kb2024-09-28 22:28:222024-09-28 22:28:26

Judging History

你现在查看的是最新测评结果

  • [2024-09-28 22:28:26]
  • 评测
  • [2024-09-28 22:28:22]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;
const int MAX_N = 1e5 + 10;

struct TEAM{
    string sc;
    int cap;
};
void solve() {
    int n, k, schoolcnt = 0;
    map<string, int> mp;
    cin >> n >> k;
    int tmp, mincnt = 1e9;
    for (int i = 0; i < k; i++) {
        cin >> tmp;
        mincnt = min(mincnt, tmp);
    }
    vector<TEAM> t(n);
    vector<vector<int>> school(n, vector<int>());
    for (int i = 0; i < n; i++) {
        cin >> t[i].cap >> t[i].sc;
        if (mp.find(t[i].sc) == mp.end()) {
            mp[t[i].sc] = schoolcnt++;
        }
        school[mp[t[i].sc]].push_back(i);
    }
    vector<int> contest;
    for (int i = 0; i < schoolcnt; i++) {
        sort(school[i].begin(), school[i].end(), [&](int x, int y){
            return t[x].cap > t[y].cap;
        });
        for (int j = 0; j < min(1ull * mincnt, 1*school[i].size()); j++) {
            contest.push_back(t[school[i][j]].cap);
        }
    }
    sort(contest.begin(), contest.end());
    vector<int> ans(n);
    for (int i = 0; i < schoolcnt; i++) {
        for (int j = 0; j < school[i].size(); j++) {
            ans[school[i][j]] = contest.end() - lower_bound(contest.begin(), contest.end(), t[school[i][j]].cap);
            // cout << "ans[" << school[i][j] << "] = " << ans[school[i][j]] << "lowerbound to rating " << *lower_bound(contest.begin(), contest.end(), t[school[i][j]].cap) << "\n";
        }
    }
    for (int i = 0; i < n; i++) {
        cout << ans[i] << "\n";
    }
}

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int T = 1;
    while (T--) {
        solve();
    }
    return 0;
}
/*
5 2
2 3
90 THU
110 PKU
95 PKU
105 THU
115 PKU

*/

Details

answer.code: In function ‘void solve()’:
answer.code:33:32: error: no matching function for call to ‘min(long long unsigned int, std::vector<int>::size_type)’
   33 |         for (int j = 0; j < min(1ull * mincnt, 1*school[i].size()); j++) {
      |                             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from answer.code:1:
/usr/include/c++/13/bits/stl_algobase.h:233:5: note: candidate: ‘template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)’
  233 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:233:5: note:   template argument deduction/substitution failed:
answer.code:33:32: note:   deduced conflicting types for parameter ‘const _Tp’ (‘long long unsigned int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’})
   33 |         for (int j = 0; j < min(1ull * mincnt, 1*school[i].size()); j++) {
      |                             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:281:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)’
  281 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:281:5: note:   template argument deduction/substitution failed:
answer.code:33:32: note:   deduced conflicting types for parameter ‘const _Tp’ (‘long long unsigned int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’})
   33 |         for (int j = 0; j < min(1ull * mincnt, 1*school[i].size()); j++) {
      |                             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61:
/usr/include/c++/13/bits/stl_algo.h:5775:5: note: candidate: ‘template<class _Tp> constexpr _Tp std::min(initializer_list<_Tp>)’
 5775 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5775:5: note:   template argument deduction/substitution failed:
answer.code:33:32: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘long long unsigned int’
   33 |         for (int j = 0; j < min(1ull * mincnt, 1*school[i].size()); j++) {
      |                             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5785:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr _Tp std::min(initializer_list<_Tp>, _Compare)’
 5785 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5785:5: note:   template argument deduction/substitution failed:
answer.code:33:32: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘long long unsigned int’
   33 |         for (int j = 0; j < min(1ull * mincnt, 1*school[i].size()); j++) {
      |                             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~