csp不能通过只有20分 求解问题
```c++
#include<iostream>
#include<cstring>
using namespace std;
long long int arr[1001][1001];
int main(){
//n为一共的苹果树,m为对第n棵数进行记录的数据
int n,m;
//t为剩下的苹果总数,d为掉落的苹果树的数目,
//e为连续三棵树掉落苹果的情况
int t=0,d=0,e=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>m;
for(int j=0;j<m;j++){
cin>>arr[i][j];
}
}
//统计总数
int sum[n];
memset(sum,0,sizeof(sum));
for(int i=0;i<n;i++){
sum[i]=arr[i][0];
for(int j=1;j<m;j++){
if(arr[i][j]<=0){
sum[i]+=arr[i][j];
}
else if(arr[i][j]>0){
sum[i]=arr[i][j];
}
}
}
for(int i=0;i<n;i++){
t+=sum[i];
}
//掉落苹果的苹果树
int k[n];
memset(k,0,sizeof(k));
for(int i=0;i<n;i++){
for(int j=1;j<m;j++){
if(arr[i][j]<=0){
arr[i][0]+=arr[i][j];
}
if(arr[i][j]>0){
if(arr[i][j]!=arr[i][0]){
k[i]=1;
}
}
}
}
for(int i=0;i<n;i++){
if(k[i]==1){
d++;
}
}
//连续三棵树发生掉落情况
for(int i=1;i<n-1;i++){
if(k[i]==k[i-1]&&k[i-1]==k[i+1]&&k[i]==1)
{
e++;
}
}
if(k[0]==1&&k[n-2]==1&&k[n-1]==1){
e++;
}
if(k[0]==1&&k[1]==1&&k[n-1]==1){
e++;
}
cout<<t<<" "<<d<<" "<<e<<endl;
}
```