1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<bits/stdc++.h>
using namespace std;
vector<int>spot[500007];
vector<int>wyniki[500007];
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
	int k,n,a;cin>>k>>n;
	wyniki[0].resize(n);spot[0].resize(n);
	for(int i=1;i<k;i++){
		cin>>n;wyniki[i].resize(n);
		for(int j=0;j<n;j++){
			cin>>a;
			spot[i].push_back(a);
		}
	}
	for(int i=k-1;i>=0;i--){
		for(int j=0;j<spot[i].size();j++){
			wyniki[i][j]=max(1,wyniki[i][j]);
			if(spot[i][j]!=0){
				wyniki[i-1][spot[i][j]-1]+=wyniki[i][j];
			}
		}
	}
	int wynik=0,aktsum=0;
	for(int i=0;i<k;i++){aktsum=0;
		for(int j=0;j<wyniki[i].size();j++){
			aktsum+=wyniki[i][j];//cout<<wyniki[i][j]<<' ';
		}//cout<<'\n';
		wynik=max(wynik,aktsum);
	}
	cout<<wynik;
    return 0;
}