首页 > 其他分享 >Marvolo Gaunt‘s Ring

Marvolo Gaunt‘s Ring

时间:2024-11-09 11:51:21浏览次数:3  
标签:int Marvolo Gaunt 109 Ring dp he

TC. Marvolo Gaunt’s Ring

Professor Dumbledore is helping Harry destroy the Horcruxes. He went to Gaunt Shack as he suspected a Horcrux to be present there. He saw Marvolo Gaunt’s Ring and identified it as a Horcrux. Although he destroyed it, he is still affected by its curse. Professor Snape is helping Dumbledore remove the curse. For this, he wants to give Dumbledore exactly x drops of the potion he made.

Value of x is calculated as maximum of p·ai + q·aj + r·ak for given p, q, r and array a1, a2, … an such that 1 ≤ i ≤ j ≤ k ≤ n. Help Snape find the value of x. Do note that the value of x may be negative.

Input

First line of input contains 4 integers n, p, q, r ( - 109 ≤ p, q, r ≤ 109, 1 ≤ n ≤ 105).

Next line of input contains n space separated integers a1, a2, … an ( - 109 ≤ ai ≤ 109).

Output

Output a single integer the maximum value of p·ai + q·aj + r·ak that can be obtained provided 1 ≤ i ≤ j ≤ k ≤ n.

Example

Input

5 1 2 3
1 2 3 4 5

Output

30

Note

In the first sample case, we can take i = j = k = 5, thus making the answer as 1·5 + 2·5 + 3·5 = 30.

In second sample case, selecting i = j = 1 and k = 5 gives the answer 12.

code

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
 
using namespace std;


const int N = 1e5+10,INF=0x3f3f3f3f,mod=1e9+7,MIN=-9223372036854775808;
 
typedef pair<int,int> PII;

int T=1;
int a[N];

void solve(){
	int n,p,q,r;
	cin>>n>>p>>q>>r;
	vector<int> dp(4,MIN);
	for (int i = 0; i < n; i ++) {
		int x;
		cin >> x;
		dp[0] = max(dp[0], x * p);
		dp[1] = max(dp[1], dp[0] + x * q);
		dp[2] = max(dp[2], dp[1] + x * r);
	}
	cout<<dp[2]<<endl;
}

signed main(){
//	cin>>T; 
    while(T--){
        solve();
    }
    return 0;
}

标签:int,Marvolo,Gaunt,109,Ring,dp,he
From: https://blog.csdn.net/2303_79062963/article/details/143530889

相关文章

  • SpringBoot技术栈:构建高效共享汽车系统
    4系统概要设计4.1概述本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:图4-1系统工作原理图4.2系统结构本系统......
  • 汽车共享管理:SpringBoot技术深度解析
    3系统分析3.1可行性分析通过对本共享汽车管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。3.1.1技术可行性本共享汽车管理系统采用SSM框架,JAVA作为开发语言,是基于WEB平台的B/S......
  • Vue+SpringBoot的民宿预订系统 微信小程序
    关注博主迷路,收藏文章方便后续找到,以防迷路,最下面有联系博主项目介绍微信小程序的民宿预订系统设计的目的是为用户提供民宿客房、公告信息等方面的平台。与PC端应用程序相比,微信小程序的民宿预订系统的设计主要面向于民宿,旨在为管理员和用户、商家提供一个微信小程序的......
  • 基于springboot+vue的医院人力资源管理系统的设计与实现(源码+lw+部署文档+讲解等)
    课题摘要基于springboot+vue的医院人力资源管理系统是一款针对医院人力资源管理需求而设计的高效、便捷的信息化系统。系统涵盖了员工信息管理功能,全面记录医院员工的基本资料,如姓名、性别、年龄、联系方式、身份证号等。同时详细记录员工的学历背景、专业资质、职称......
  • 基于springboot+vue的协同过滤算法的音乐推荐系统设计与实现(源码+lw+部署文档+讲解等
    课题摘要基于springboot+vue的协同过滤算法的音乐推荐系统是一款为音乐爱好者打造的智能推荐平台,同时具备源码、lw、部署文档和讲解。系统中的音乐资源极为丰富,涵盖了各种风格,如流行、摇滚、古典、民谣、爵士、电子等。每首歌曲都有详细的信息,包括歌手、专辑、发行时......
  • Springboot基于Vue的农产品智能交易系统ok45y
    Springboot基于Vue的农产品智能交易系统ok45y本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面 在最后面。系统程序文件列表项目功能:用户,商家,商品分类,农产品信息开题报告内容一、项目背景随着信息技术的飞速发展和互联网的广泛普......
  • SpringBoot自动装配过程
    SpringBoot的自动装配过程是一个基于注解和条件配置的自动化过程。它依赖于spring.factories文件中的自动配置类列表并结合条件注解和组件扫描来实现灵活且强大的自动装配功能。这使得开发者可以专注于业务逻辑的实现,而无需处理繁琐的配置细节。1,启动类上@SpringBootApplicat......
  • SpringBoot驱动的共享汽车管理解决方案
    1系统概述1.1研究背景随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理共享汽车管理系统的相关信息成为必然。开发合适的共享汽车管理系统,可以方便管理人员对共享......
  • 高效共享出行:基于SpringBoot的汽车管理系统
    1系统概述1.1研究背景随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理共享汽车管理系统的相关信息成为必然。开发合适的共享汽车管理系统,可以方便管理人员对共享......
  • springboot毕设 流动人口信息管理系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和经济社会的发展,流动人口数量急剧增加,成为社会管理中不可忽视的重要群体。他们为城市的经济繁荣和劳动力市场的灵活性做出了巨......