美食

鏈接:https://ac.nowcoder.com/acm/contest/332/D
來源:牛客網

時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
題目描述
小B喜歡美食。
現在有n個美食排成一排擺在小B的面前,依次編號爲1…n,編號爲i的食物大小爲 a[i] ,即足夠小B吃 a[i] 口。
小B每次會吃兩口,這兩口要麼是編號相同的美食,要麼是編號之差的絕對值爲1的美食。
小B想知道,她最多能吃幾次?
輸入描述:
第1行一個正整數n,表示美食個數
接下來n行,第i行一個整數a[i],表示編號爲i的美食的大小
輸出描述:
一個數表示小B最多吃幾次。
示例1
輸入
複製
4
1
5
7
8
輸出
複製
10
說明
用二元組(a,b)表示某一次吃的兩個美食分別爲第a個美食和第b個美食,則下面爲一個吃10次的方案:
(1,2)(2,2)(2,2)(3,4)(3,4)(3,4)(3,4)(3,4)(3,4)(3,4)
注意不一定要吃完。
備註:

思路:水題,不解釋了吧

AC代碼:

import java.util.*;
import java.io.*;
public class Main{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        long []a=new long[100007];
        for(int i=0;i<n;i++) {
            a[i]=sc.nextInt();
        }
        long ans=0;
        for(int i=0;i<n;i++) {
            if(a[i]%2==0) {
                ans+=a[i]/2;
            }
            else {
                ans+=a[i]/2;
                if(i!=n-1 && a[i+1]>0) {
                    ans++;
                    a[i+1]--;
                }
            }
        }
        System.out.println(ans);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章