zoukankan      html  css  js  c++  java
  • libreoj #514. 「LibreOJ β Round #2」模拟只会猜题意

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

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

    询问 mmm 次,每次询问一个数字 xxx,请求出所有满足 r−l+1≥xr-l+1 ge xrl+1x 区间 [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

    数据范围与提示

    1≤x≤n≤1041 leq x leq n leq 10^{4}1xn10

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<queue>
    #include<cstring>
    #define ll long long 
    
    using namespace std;
    const int N=10010;
    
    ll a[N];
    ll sum[N];
    ll maxn[N];
    ll n,Q,x;
    
    inline ll read()
    {
        ll x=0;char c=getchar();ll f=1;
        while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
        while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar();
        return x*f;
    }
    
    int main()
    {
    //    freopen("test8.in","r",stdin);
        //freopen("oild.out","w",stdout);
        n=read();
        Q=read();
        memset(maxn,-0x7f,sizeof(maxn));
        for(int i=1;i<=n;i++)
            a[i]=read(),
            sum[i]=a[i]+sum[i-1];
        for(int i=1;i<=n;i++)
            for(int j=i;j<=n;j++)
                maxn[j-i+1]=max(maxn[j-i+1],sum[j]-sum[i-1]);
        for(int i=1;i<=n;i++)
            for(int j=i+1;j<=n;j++)
                maxn[i]=max(maxn[i],maxn[j]);
        for(;Q;Q--)
            x=read(),
            printf("%lld
    ",maxn[x]);
        return 0;
    }
    /*
    5 5
    1 2 3 4 5
    1
    2
    3
    4
    5
    */

    4​​ ,0≤m≤1050 leq m leq 10^{5}0m105​​ , ∣Ai∣≤104|A_i| leq 10^{4}Ai​​104​​ 。

  • 相关阅读:
    3、linux网络编程--网络字节序
    1、linux网络编程--网络协议
    第四篇:进程
    第五篇:进程通信
    第六篇:线程原理
    操作系统基本概念
    第一篇:基础原理篇
    第二篇:操作系统历史
    (2)linux下的简单的socket通信实例
    (3)基于linux的socket编程TCP半双工client-server聊天程序
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/7115786.html
Copyright © 2011-2022 走看看