Language: C++

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

#define INF 10000000

typedef pair<int,int> P;

int main()
{
    int M, N;
    cin >> M >> N;

    vector<int> man;
    vector<P> pack;

    for(int i=0; i<M; ++i) {
        int temp;
        cin >> temp;
        man.push_back(temp);
    }

    sort(man.rbegin(),man.rend());

    for(int i=1; i<M; ++i) {
        man[i]+=man[i-1];
    }

    for(int i=0; i<N; ++i) {
        int c,e;
        cin >> c >> e;
        pack.push_back(make_pair(c,e));
    }

    int dp[N][M];

    for(int j=0; j<M; ++j) {
        dp[0][j]=INF;
        dp[1][j]=INF;
    }

    for(int i=0; i<M; ++i) {
        if(i<pack[0].first) dp[0][i]=pack[0].second;
    }

    for(int i=1; i<N; ++i) {
        for(int j=0; j<M; ++j) {
            if(j<pack[i].first) {
                dp[i%2][j]=min(dp[i%2][j],dp[(i-1)%2][j]);
                dp[i%2][j]=min(dp[i%2][j],pack[i].second);
            }
            if(j+pack[i].first<M) {
                dp[i%2][j+pack[i].first]=min(dp[(i-1)%2][j+pack[i].first],dp[(i-1)%2][j]+pack[i].second);
            }
        }
    }

    long long ans=0;
    for(int i=0; i<M; ++i) {
        ans=max(ans,man[i]-dp[(N-1)%2][i]);
    }

    cout << ans << endl;



    return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:62:16: error: no matching function for call to 'max(long long int&, __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type)'
   62 |         ans=max(ans,man[i]-dp[(N-1)%2][i]);
      |             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/string:51,
                 from /usr/include/c++/14/bits/locale_classes.h:40,
                 from /usr/include/c++/14/bits/ios_base.h:41,
                 from /usr/include/c++/14/ios:44,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:1:
/usr/include/c++/14/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++/14/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
a.cc:62:16: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   62 |         ans=max(ans,man[i]-dp[(N-1)%2][i]);
      |             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/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++/14/bits/stl_algobase.h:303:5: note:   candidate expects 3 arguments, 2 provided
In file included from /usr/include/c++/14/algorithm:61,
                 from a.cc:3:
/usr/include/c++/14/bits/stl_algo.h:5706:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5706 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5706:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5716:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5716 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5716:5: note:   template argument deduction/substitution failed:
a.cc:62:16: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   62 |         ans=max(ans,man[i]-dp[(N-1)%2][i]);
      |             ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~