内存限制:256 MiB 时间限制:1000 ms 标准输入输出
                          题目类型:传统 评测方式:文本比较

题目描述

给定一个长度为 nnn 的序列 AAA 。

定义 f(l,r)=∑i=lrAif(l,r)=\sum_{i=l}^{r} A_{i}f(l,r)=∑​i=l​r​​A​i​​。

询问 mmm 次,每次询问一个数字 xxx,请求出所有满足 r−l+1≥xr-l+1 \ge xr−l+1≥x 区间 [l,r][l,r][l,r] 中最大的 f(l,r)f(l,r)f(l,r)。

输入格式

第一行两个数,表示 nnn 和 mmm 。
之后 nnn 个数,表示序列 AAA。
之后 mmm 行每行一个数 xxx,表示询问 xxx 。

输出格式

输出 mmm 行,每行一个答案,表示最大的 f(l,r)f(l,r)f(l,r) 。

样例

样例输入

5 5
1 2 3 4 5
1
2
3
4
5

样例输出

15
15
15
15
15

数据范围与提示

前缀和就好

屠龙宝刀点击就送

#include <cstring>
#include <cstdio>
#define N 10005 int sum[N],maxn[N],n,m;
inline int max(int a,int b) {return a>b?a:b;}
int main()
{
memset(maxn,-0x3f,sizeof(maxn));
scanf("%d%d",&n,&m);
for(int a,i=;i<=n;++i)
scanf("%d",&a),sum[i]=sum[i-]+a;
for(int i=;i<=n;++i)
for(int j=;j<=i;++j)
maxn[i-j+]=max(maxn[i-j+],sum[i]-sum[j-]);
for(int i=;i<=n;++i)
for(int j=i+;j<=n;++j)
maxn[i]=max(maxn[i],maxn[j]);
for(int x;m--;)
{
scanf("%d",&x);
printf("%d\n",maxn[x]);
}
return ;
}

LibreOJ #514. 「LibreOJ β Round #2」模拟只会猜题意的更多相关文章

  1. Loj514「LibreOJ β Round #2」模拟只会猜题意 - 模拟

    注意初始化即可. #include <bits/stdc++.h> using namespace std; ],a[],t1,t2,t3,t4; int main(){ memset(a ...

  2. 汕头市队赛 SRM10 T1模拟只会猜题意

    模拟只会猜题意 SRM 10 描述 有一本n个单词的词典,求按下列方法能造出的不相同的词汇数目.  1.词典中的单词是一个词. 2.能分为两部分的,其中前一部分是一个词典词或者其非空前缀,后一部分是一 ...

  3. loj514模拟只会猜题意

    果然是道模拟... 一开始想线段树 看了一眼数据范围:“这tm不是前缀和吗” 然后水过 #include<iostream> #include<cstdio> #include ...

  4. LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力

    二次联通门 : LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 /* LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 叫做计算几 ...

  5. LibreOJ #528. 「LibreOJ β Round #4」求和

    二次联通门 : LibreOJ #528. 「LibreOJ β Round #4」求和 /* LibreOJ #528. 「LibreOJ β Round #4」求和 题目要求的是有多少对数满足他们 ...

  6. LibreOJ #527. 「LibreOJ β Round #4」框架

    二次联通门 : LibreOJ #527. 「LibreOJ β Round #4」框架 /* LibreOJ #527. 「LibreOJ β Round #4」框架 %% xxy dalao 对于 ...

  7. LibreOJ #526. 「LibreOJ β Round #4」子集

    二次联通门 : LibreOJ #526. 「LibreOJ β Round #4」子集 /* LibreOJ #526. 「LibreOJ β Round #4」子集 考虑一下,若两个数奇偶性相同 ...

  8. LibreOJ #525. 「LibreOJ β Round #4」多项式

    二次联通门 : LibreOJ #525. 「LibreOJ β Round #4」多项式 官方题解 : /* LibreOJ #525. 「LibreOJ β Round #4」多项式 由于会有多种 ...

  9. LibreOJ #524. 「LibreOJ β Round #4」游戏

    二次联通门 : LibreOJ #524. 「LibreOJ β Round #4」游戏 /* LibreOJ #524. 「LibreOJ β Round #4」游戏 找找规律就会发现.. 当有X的 ...

随机推荐

  1. David Malan teaching CS75 lecture 9, Scalability

    https://youtu.be/-W9F__D3oY4 Storage PATA, SATA, SAS (15,000 rpm), SSD, RAID0 : striping, double thr ...

  2. 【转】eclipse修改workspace

    [转]eclipse修改workspace 以下方法选其中一种 1.进入 Window > Preferences > General > Startup and Shutdown ...

  3. SetROP2

    一个Windows API SetROP2(int nDrawMode)的使用 该函数的主要的作用是根据nDrawMode设置的方式重新设定绘图的方式,下面就不同的nDrawMode值具体解释绘图模式 ...

  4. FZU - 2214 Knapsack problem 01背包逆思维

    Knapsack problem Given a set of n items, each with a weight w[i] and a value v[i], determine a way t ...

  5. 如何阻止冒泡&&浏览器默认行为

    摘要 很多同学对阻止事件冒泡和阻止事件默认行为容易混淆,项目中因为一些原因也需要阻止浏览器的一些默认行为,这里就简单总结一下. 阻止事件冒泡 什么是事件冒泡这里就不再赘述了,网上的文章一大把,这里就简 ...

  6. ubuntu18.04安装opencv 3.4.1

    github 地址: https://github.com/opencv/opencv 安装依赖 sudo apt-get install build-essential sudo apt--dev ...

  7. 基于pthread实现读写锁

    读写锁可用于在多线程访问map等数据结构时使用 #include <pthread.h> class ReadWriteLock { public: ReadWriteLock() { p ...

  8. 5G时代的智慧物流~圆通副总裁相峰

        图片来自“百度百科”   本文是圆通速递CEO.国家工程实验室主任相峰先生在2019全球物流技术大会的演讲,在演讲中,相峰先生主要阐述了自己对5G的看法以及5G在物流领域的应用.   以下是演 ...

  9. js实现页面的上滑下拉功能

    这两天做项目,用到了上滑和下拉的功能,主要是通过监听touchmove,touchstart,touchend三个事件去判断页面上滑状态还是下拉状态. 同时加一个知识点:有时在监听时会报错,这个错是这 ...

  10. 基于SpringBoot构建分模块项目

    前言 步骤过于详细,多图慎入!!! 假设一个场景,要开发一个4s店维修部的办公系统,其功能有:前台接待,维修抢单,财务结算,库存管理.于是我们创建一个项目balabalabala写完交工. 一段时间后 ...