#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int k,n,maxi,a,i,j;cin>>k>>n;
vector<vector<int>>ile(k);
vector<vector<int>>abc(k);
ile[0].resize(n,0);
abc[0].resize(n,0);
for(i=1;i<k;++i){
cin>>n;
ile[i].resize(n,0);
abc[i].resize(n,0);
for(j=0;j<n;++j)cin>>ile[i][j];
}
maxi=0;
for(i=k-1;i>0;--i){a=0;
for(j=0;j<ile[i].size();++j){
if(abc[i][j]>0){a+=abc[i][j];
if(ile[i][j]>0)abc[i-1][ile[i][j]-1]+=abc[i][j];
}
else {++a;if(ile[i][j]>0)++abc[i-1][ile[i][j]-1];}}
maxi=max(a,maxi);}
a=0;
for(i=0;i<ile[0].size();++i){
if(abc[0][i]>0)a+=abc[0][i];
else ++a;
}
maxi=max(a,maxi);
cout<<maxi;
return 0;
}
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 35 | #include<bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int k,n,maxi,a,i,j;cin>>k>>n; vector<vector<int>>ile(k); vector<vector<int>>abc(k); ile[0].resize(n,0); abc[0].resize(n,0); for(i=1;i<k;++i){ cin>>n; ile[i].resize(n,0); abc[i].resize(n,0); for(j=0;j<n;++j)cin>>ile[i][j]; } maxi=0; for(i=k-1;i>0;--i){a=0; for(j=0;j<ile[i].size();++j){ if(abc[i][j]>0){a+=abc[i][j]; if(ile[i][j]>0)abc[i-1][ile[i][j]-1]+=abc[i][j]; } else {++a;if(ile[i][j]>0)++abc[i-1][ile[i][j]-1];}} maxi=max(a,maxi);} a=0; for(i=0;i<ile[0].size();++i){ if(abc[0][i]>0)a+=abc[0][i]; else ++a; } maxi=max(a,maxi); cout<<maxi; return 0; } |
English