제출 #1336930

#제출 시각아이디문제언어결과실행 시간메모리
1336930Nipphitch만두 (JOI14_ho_t2)C++20
35 / 100
31 ms39752 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=2e4+5;
const int M=505;

int n,m,c[M],e[M],p[N],dp1[N],dp2[M][N],ans;

signed main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> n >> m;
    for(int i=1;i<=n;i++) cin >> p[i];
    sort(p+1,p+1+n,greater <int>());
    for(int i=1;i<=n*2;i++) dp1[i]=dp1[i-1]+p[i];
    for(int i=0;i<=m;i++) for(int j=1;j<=n*2;j++) dp2[i][j]=INT_MAX/2;
    for(int i=1;i<=m;i++){
        cin >> c[i] >> e[i];
        for(int j=n*2;j>=1;j--){
            dp2[i][j]=dp2[i-1][j];
            if(j-c[i]<0) continue;
            dp2[i][j]=min(dp2[i][j],dp2[i-1][j-c[i]]+e[i]);
        }
    }
    for(int i=1;i<=n*2;i++) ans=max(ans,dp1[i]-dp2[m][i]);
    //for(int i=0;i<=n*2;i++) cout << dp2[m][i] << " ";
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...