#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int k,n, odp;
vector<vector<int>> spotkania;
vector<vector<int>> osoby;
odp = 1;
cin>>k>>n;
spotkania.resize(k+1);
osoby.resize(k+1);
spotkania[1].resize(n+1,0);
spotkania[1][0] = n;
osoby[1].resize(n+1,0);
osoby[1][0] = n;
if (k == 1)
odp = n;
else
{
for (int i = 2; i<k+1; i++){
cin>>n;
spotkania[i].resize(n+1,-1);
spotkania[i][0] = n;
osoby[i].resize(n+1,0);
osoby[i][0] = n;
int j = 1;
while (j!=n+1) {
cin >> spotkania[i][j];
j++;
}
}
}
/*for (int i = 1; i < spotkania.size();i++){
cout<<i<<" | ";
for (int j = 0; j< spotkania[i].size(); j++)
cout<<spotkania[i][j]<<" ";
cout<<'\n';
}*/
for (int i = osoby.size() -1; i>0; i--){
int akt_osoby = 0;
for (int j = 1; j < osoby[i].size();j++){
int s = spotkania[i][j];
if ( s != 0){
if (osoby[i][j] > 0)
osoby[i-1][s] += osoby[i][j];
else
osoby[i-1][s] += 1;
}
if (osoby[i][j] == 0)
akt_osoby ++;
else
akt_osoby +=osoby[i][j];
}
if (odp < akt_osoby)
odp = akt_osoby;
}
/*
cout<<'\n'<<"********** osoby ***********"<<'\n'<<'\n';
for (int i = 1; i < osoby.size();i++){
cout<<i<<" | ";
for (int j = 0; j< osoby[i].size(); j++)
cout<<osoby[i][j]<<" ";
cout<<'\n';
}
*/
//cout<<'\n'<<"********** odp ***********"<<'\n';
cout<<odp<<'\n';
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int k,n, odp; vector<vector<int>> spotkania; vector<vector<int>> osoby; odp = 1; cin>>k>>n; spotkania.resize(k+1); osoby.resize(k+1); spotkania[1].resize(n+1,0); spotkania[1][0] = n; osoby[1].resize(n+1,0); osoby[1][0] = n; if (k == 1) odp = n; else { for (int i = 2; i<k+1; i++){ cin>>n; spotkania[i].resize(n+1,-1); spotkania[i][0] = n; osoby[i].resize(n+1,0); osoby[i][0] = n; int j = 1; while (j!=n+1) { cin >> spotkania[i][j]; j++; } } } /*for (int i = 1; i < spotkania.size();i++){ cout<<i<<" | "; for (int j = 0; j< spotkania[i].size(); j++) cout<<spotkania[i][j]<<" "; cout<<'\n'; }*/ for (int i = osoby.size() -1; i>0; i--){ int akt_osoby = 0; for (int j = 1; j < osoby[i].size();j++){ int s = spotkania[i][j]; if ( s != 0){ if (osoby[i][j] > 0) osoby[i-1][s] += osoby[i][j]; else osoby[i-1][s] += 1; } if (osoby[i][j] == 0) akt_osoby ++; else akt_osoby +=osoby[i][j]; } if (odp < akt_osoby) odp = akt_osoby; } /* cout<<'\n'<<"********** osoby ***********"<<'\n'<<'\n'; for (int i = 1; i < osoby.size();i++){ cout<<i<<" | "; for (int j = 0; j< osoby[i].size(); j++) cout<<osoby[i][j]<<" "; cout<<'\n'; } */ //cout<<'\n'<<"********** odp ***********"<<'\n'; cout<<odp<<'\n'; return 0; } |
English