题解:P14796 [JOI 2026 二次预选] 究极团子达人 / Ultimate Dango Maker
P14796
题目
题面其他题解够清晰,不多做叙述。
思路
这题需要
提醒
不开 long long 见祖宗!
AC Code
你们肯定都挺喜欢的。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll a[200005];
int main(){
int n;
cin>>n;
ll ans=0;
for(int i=1;i<=n;i++){
cin>>a[i];
}
ll cnt=0;
for(int i=1;i<=n;i++){
cnt+=a[i]/3;//a[i] 有几个团子串
a[i]=a[i]%3;//a[i] 剩下几个团子
if(a[i]>0){//如果有剩下
ll sum=3-a[i];//还差几个
if(i+1<=n&&a[i+1]>=sum){//a[i+1] 不越界,且大于差的
a[i+1]-=sum;//减去差的,剩下的
cnt++;//团子串数量+1
}
}
}
cout<<cnt;
return 0;
}