codeforces 855 - B. Marvolo Gaunt 's Ring (가방 문제)

1614 단어 ACMcodeforces
http://codeforces.com/problemset/problem/855/B
문제 풀이 방향:
p, q, r 를 세 개의 아 이 템 으로 보고 가방 문제 로 처리 할 수 있 습 니 다.
#include
using namespace std;
#define INF 0x3f3f3f3f3f3f3f3f
typedef long long ll;
const int maxn=1e5+10;
ll a[maxn],b[4],dp[maxn][4];
int main()
{
    int n;
    while(cin>>n)
    {
        for(int i=1;i<=3;i++)
          cin>>b[i];
        for(int i=1;i<=n;i++)
          cin>>a[i];
        for(int i=0;i<=n;i++)
        {
            dp[i][0]=0;
            for(int j=1;j<=3;j++)
              dp[i][j]=-INF;
        }
        for(int i=1;i<=n;i++)
          for(int j=1;j<=3;j++)
            dp[i][j]=max(dp[i][j],max(dp[i-1][j],dp[i][j-1]+(ll)(a[i]*b[j])));
        cout<
    }
    return 0;
}

좋은 웹페이지 즐겨찾기