1. 程式人生 > >牛客訓練六:美食(貪心)

牛客訓練六:美食(貪心)

string one \n lld spl 貪心 color gif sin

題目鏈接:傳送門

思路:

如果當前值a[i]是奇數,就讓a[i+1]--,ans++,由於可以是一次吃兩個相同的,或者一次吃兩個相鄰的,

所以就可以將它們看為連起來的,然後再去求解。

註意:ans是long long類型。

技術分享圖片
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 100100;
int a[maxn];
int main(void)
{
    int n,i;
    while(~scanf("%d",&n)){
        
for(i=0;i<n;i++) scanf("%d",&a[i]); long long ans=0; for(i=0;i<n;i++) { ans+=a[i]/2; if(a[i]%2&&a[i+1]>0) ans++,a[i+1]--; } printf("%lld\n",ans); } return 0; }
View Code

牛客訓練六:美食(貪心)