FZU 2168 防守陣地 I

來源:互聯網
上載者:User

標籤:des   blog   os   io   資料   for   div   amp   


B - 防守陣地 I
Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit

Status
Description
部隊中共有N個士兵,每個士兵有各自的能力指數Xi,
在一次演練中,指揮部確定了M個需要防守的地點,按重要程度從低到高排序,
依次以數字1到M標註每個地點的重要程度,

指揮部將選擇M個士兵依次進入指定地點進行防守任務,
能力指數為X計程車兵防守重要程度為Y的地點將得到X*Y的參考指數。
現在士兵們排成一排,請你選擇出連續的M個士兵依次參加防守,使得總的參考指數值最大。

Input
輸入包含多組資料。

輸入第一行有兩個整數N,M(1<=N<=1000000,1<=M<=1000),
第二行N個整數表示每個士兵對應的能力指數Xi(1<=Xi<=1000)。

對於30%的資料1<=M<=N<=1000。

Output
輸出一個整數,為最大的參考指數總和。

Sample Input
5 3
2 1 3 1 4
Sample Output
17

 

 

開始寫blog才發現題解真的寫不清楚啊= =

#include<stdio.h>#include<string.h>#include<math.h>#include<iostream>#include<algorithm>#include<queue>#include<stack>#define mem(a,b) memset(a,b,sizeof(a))#define ll __int64#define MAXN 1000#define INF 0x7ffffff#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;int a[1000000+10];int sum[1000000+10];//儲存每 m 個數值的和int main(){    int n,m,i,j,maxx,cnt;    while(scanf("%d%d",&n,&m)!=EOF)    {        mem(sum,0);        for(i=1;i<=n;i++)        {            scanf("%d",&a[i]);            if(i<=m)                            sum[m]+=a[i];                        else                            sum[i]=sum[i-1]-a[i-m]+a[i];//以 m個單位為一組 將a[i]存入sum[i]                    }        maxx=0;        cnt=m;        for(i=n;i>=n-m+1;i--)//最末尾的情況        {            maxx+=a[i]*cnt;            cnt--;        }        int s=maxx;        for(i=n-1;i>=m;i--)//從末尾往前推         {            s=s-m*a[i+1]+sum[i];            if(s>maxx)            {                maxx=s;            }        }        printf("%d\n",maxx);    }    return 0;}

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.