当时脑子瓦特了这题竟然没写。。
链接:https://ac.nowcoder.com/acm/contest/332/D
来源:牛客网
美食
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
小B喜欢美食。
现在有n个美食排成一排摆在小B的面前,依次编号为1..n,编号为i的食物大小为 a[i] ,即足够小B吃 a[i] 口。
小B每次会吃两口,这两口要么是编号相同的美食,要么是编号之差的绝对值为1的美食。
小B想知道,她最多能吃几次?
现在有n个美食排成一排摆在小B的面前,依次编号为1..n,编号为i的食物大小为 a[i] ,即足够小B吃 a[i] 口。
小B每次会吃两口,这两口要么是编号相同的美食,要么是编号之差的绝对值为1的美食。
小B想知道,她最多能吃几次?
输入描述:
第1行一个正整数n,表示美食个数
接下来n行,第i行一个整数a[i],表示编号为i的美食的大小
输出描述:
一个数表示小B最多吃几次。
示例1
备注:
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e5+10; int main() { int n,a[maxn]={0}; ll sum=0;///注意开long long 不然会爆 cin>>n; for(int i=1; i<=n; i++) { cin>>a[i]; if(a[i-1]==1&&a[i]>0) { sum++; a[i-1]=0; a[i]--; } sum+=a[i]/2; a[i]%=2; } cout<<sum<<endl; return 0; }