1. 程式人生 > >2017-10-2 清北

2017-10-2 清北

存在 包含 數據 就會 不存在 美食 整數 總數 輸出格式

最大值

(max)

Time Limit:1000ms Memory Limit:128MB

題目描述

LYK有一本書,上面有很多有趣的OI問題。今天LYK看到了這麽一道題目:

這裏有一個長度為n的正整數數列ai(下標為1~n)。並且有一個參數k。

你需要找兩個正整數x,y,使得x+k<=y,並且y+k-1<=n。並且要求a[x]+a[x+1]+…+a[x+k-1]+a[y]+a[y+1]+…+a[y+k-1]最大。

LYK並不會做,於是它把題扔給了你。

輸入格式(max.in)

第一行兩個數n,k。

第二行n個數,表示ai。

輸出格式(max.out)

兩個數表示x,y。若有很多種滿足要求的答案,輸出x最小的值,若x最小仍然還有很多種滿足要求的答案,輸出y最小的值。

輸入樣例

5 2

6 1 1 6 2

輸出樣例

1 4

對於30%的數據n<=100。

對於60%的數據n<=1000

對於100%的數據1<=n<=100000,1<=k<=n/2,1<=ai<=10^9。

吃東西

(eat)

Time Limit:2000ms Memory Limit:1024MB

題目描述

一個神秘的村莊裏有4家美食店。這四家店分別有A,B,C,D種不同的美食。LYK想在每一家店都吃其中一種美食。每種美食需要吃的時間可能是不一樣的。

現在給定第1家店A種不同的美食所需要吃的時間a1,a2,…,aA。

給定第2家店B種不同的美食所需要吃的時間b1,b2,…,bB。

以及c和d。

LYK擁有n個時間,問它有幾種吃的方案。

輸入格式(eat.in)

第一行5個數分別表示n,A,B,C,D。

第二行A個數分別表示ai。

第三行B個數分別表示bi。

第四行C個數分別表示ci。

第五行D個數分別表示di。

輸出格式(eat.out)

一個數表示答案。

輸入樣例

11 3 1 1 1

4 5 6

3

2

1

輸出樣例

2

對於30%的數據A,B,C,D<=50

對於另外30%的數據n<=1000。

對於100%的數據1<=n<=100000000,1<=A,B,C,D<=5000,0<=ai,bi,ci,di<=100000000。

分糖果

(candy)

Time Limit:1000ms Memory Limit:128MB

題目描述

總共有n顆糖果,有3個小朋友分別叫做L,Y,K。每個小朋友想拿到至少k顆糖果,但這三個小朋友有一個共同的特點:對3反感。也就是說,如果某個小朋友拿到3顆,13顆,31顆,333顆這樣數量的糖果,他就會不開心。(也即它拿到的糖果數量不包含有一位是3)

LYK掌管著這n顆糖果,它想問你有多少種合理的分配方案使得將這n顆糖果全部分給小朋友且沒有小朋友不開心。

例如當n=3,k=1時只有1種分配方案,當n=4,k=1時有3種分配方案分別是112,121,211。當n=7,k=2時則不存在任何一種合法的方案。

當然這個答案可能會很大,你只需輸出答案對12345647取模後的結果就可以了。

輸入格式(candy.in)

第一行兩個數表示n,k。

輸出格式(candy.out)

一個數表示方案總數。

輸入樣例

99999 1

輸出樣例

9521331

對於30%的數據n<=100

對於50%的數據n<=1000。

對於另外30%的數據k=1。

對於100%的數據3<=n<=10^10000,1<=k<=n/3,且n,k不包含前導0。

2017-10-2 清北