QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#317527#7567. Joining Catsikaurov#Compile Error//C++171.7kb2024-01-29 04:13:572024-01-29 04:13:57

Judging History

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

  • [2024-01-29 04:13:57]
  • 评测
  • [2024-01-29 04:13:57]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define all(arr) (arr).begin(), (arr).end()
#define ll long long
#define ld long double
#define pb push_back
#define sz(x) (int)(x).size()
#define fi first
#define se second
#define endl '\n'

const int N = 5005;

short maxstart[N][N], maxend[N][N]; // [fan][index]
short dp[N][N]; // max last fan used

int w[N], s[N];

signed main(){
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  // cout.precision(20);
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> w[i];
  for (int i = 0; i < k; i++) cin >> s[i];
  for (int fan = 0; fan < k; fan++){
    int curs = s[fan];
    for (int l = 0, r = -1, sum = 0; l < n; sum = max(0, sum - w[l]), l++){
      r = max(r, l - 1);
      while (r + 1 < n && sum + w[r + 1] <= curs){
        sum += w[++r];
      }
      maxstart[fan][l] = r + 1;
    }
  }
  reverse(w, w + n);
  for (int fan = 0; fan < k; fan++){
    int curs = s[fan];
    for (int l = 0, r = -1, sum = 0; l < n; sum = max(0, sum - w[l]), l++){
      r = max(r, l - 1);
      while (r + 1 < n && sum + w[r + 1] <= curs){
        sum += w[++r];
      }
      maxend[fan][l] = r + 1;
    }
  }

  for (int i = 0; i <= n; i++) for (int j = 0; j <= n; j++) dp[i][j] = -1;
  dp[0][0] = k;
  for (int l = 0; l <= n; l++){
    for (int r = 0; r <= n; r++){
      if (dp[l][r] == -1) continue;
      if (l + r >= n - 1){
        cout << "Yes" << endl;
        return 0;
      }
      if (dp[l][r] == 0) continue;
      int fan = dp[l][r] - 1;
      dp[maxstart[fan][l]][r] = max(dp[maxstart[fan][l]][r], fan);
      dp[l][maxend[fan][r]] = max(dp[l][maxend[fan][r]], fan);
    }
  }
  cout << "No" << endl;
}

詳細信息

answer.code: In function ‘int main()’:
answer.code:60:36: error: no matching function for call to ‘max(short int&, int&)’
   60 |       dp[maxstart[fan][l]][r] = max(dp[maxstart[fan][l]][r], fan);
      |                                 ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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:257:5: note: candidate: ‘template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)’
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
answer.code:60:36: note:   deduced conflicting types for parameter ‘const _Tp’ (‘short int’ and ‘int’)
   60 |       dp[maxstart[fan][l]][r] = max(dp[maxstart[fan][l]][r], fan);
      |                                 ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)’
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
answer.code:60:36: note:   deduced conflicting types for parameter ‘const _Tp’ (‘short int’ and ‘int’)
   60 |       dp[maxstart[fan][l]][r] = max(dp[maxstart[fan][l]][r], fan);
      |                                 ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61:
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: ‘template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)’
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
answer.code:60:36: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘short int’
   60 |       dp[maxstart[fan][l]][r] = max(dp[maxstart[fan][l]][r], fan);
      |                                 ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)’
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note:   template argument deduction/substitution failed:
answer.code:60:36: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘short int’
   60 |       dp[maxstart[fan][l]][r] = max(dp[maxstart[fan][l]][r], fan);
      |                                 ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
answer.code:61:34: error: no matching function for call to ‘max(short int&, int&)’
   61 |       dp[l][maxend[fan][r]] = max(dp[l][maxend[fan][r]], fan);
      |                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: ‘template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)’
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
answer.code:61:34: note:   deduced conflicting types for parameter ‘const _Tp’ (‘short int’ and ‘int’)
   61 |       dp[l][maxend[fan][r]] = max(dp[l][maxend[fan][r]], fan);
      |                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)’
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
answer.code:61:34: note:   deduced conflicting types for parameter ‘const _Tp’ (‘short int’ and ‘int’)
   61 |       dp[l][maxend[fan][r]] = max(dp[l][maxend[fan][r]], fan);
      |                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note: candidate: ‘template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)’
 5795 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5795:5: note:   template argument deduction/substitution failed:
answer.code:61:34: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘short int’
   61 |       dp[l][maxend[fan][r]] = max(dp[l][maxend[fan][r]], fan);
      |                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)’
 5805 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5805:5: note:   template argument deduction/substitution failed:
answer.code:61:34: no...