Submission #95417

#TimeUsernameProblemLanguageResultExecution timeMemory
95417easrui만두 (JOI14_ho_t2)C++14
0 / 100
17 ms504 KiB
#include <bits/stdc++.h> using namespace std; const int MM = 1e4+5; const int MN = 505; int M,N,P[MM],S[MM],C[MN],E[MN],ans,res; int D[MM][2]; int main() { //freopen("input.txt","r",stdin); ios_base::sync_with_stdio(0),cin.tie(0); cin >> M >> N; for(int i=1; i<=M; i++) cin >> P[i]; sort(P+1,P+M+1,greater<int>()); for(int i=1; i<=M; i++){ S[i] = S[i-1] + P[i]; } for(int i=1; i<=1e4; i++) D[i][0] = D[i][1] = 1e9; for(int i=1; i<=N; i++) cin >> C[i] >> E[i]; for(int i=1; i<=N; i++){ for(int j=1e4; j>=C[i]; j--){ D[j][i%2] = min(D[j][(i+1)%2],D[j-C[i]][(i+1)%2] + E[i]); if(j!=1e4) D[j][i%2] = min(D[j][i%2],D[j+1][i%2]); } } //cout << D[2][N%2]; for(int i=0; i<=M; i++){ ans = max(ans,S[i]-D[i][N%2]); } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...