题目
代码
#include <iostream>
using namespace std;
int n;//苹果树的棵树
int a[1010];
int drop[1010];//第i棵树是否发生过苹果掉落的情况
long long sum;//T
int num;//D
int cnt;//E
void Drop(int i);
int main()
{
cin>>n;
for(int i=0;i<n;i++){
int m;
cin>>m;
for(int j=0;j<m;j++){
int x;
cin>>x;
if(j==0){
a[i]=x;
}else{
//重新计算苹果个数
if(x>0){
if(x<a[i]){
// cout<<"x:"<<x<<",a[i]:"<<a[i]<<endl;
drop[i]=1;
a[i]=x;
}
}else{
a[i]+=x;
}
}
}
sum+=a[i];
if(drop[i]){
num++;
}
}
for(int i=0;i<n;i++){
while(!drop[i]){
i++;
}
Drop(i);
}
cout<<sum<<" "<<num<<" "<<cnt;
return 0;
}
void Drop(int i){
if(drop[i%n]&&drop[(i+1)%n]&&drop[(i+2)%n]){
cnt++;
}
}
/*
4
4 74 -7 -12 -5
5 73 -8 -6 59 -4
5 76 -5 -10 60 -2
5 80 -6 -15 59 0
*/