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