Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include"pch.h"
- #include<iostream>
- #include<vector>
- #include<algorithm>
- #include<stdio.h>
- using namespace std;
- #define endl '\n'
- typedef long long ll;
- const int maxn = 1e5 + 10;
- int n, B, L, D;
- int books[maxn], freq[1000000], uniqueBooksCounter, numberOfLibrariesWithNoUniqueBooks;
- double avgFreq, avgUniqueBooksInLibrary;
- struct library {
- int n, signup, booksPerDay, uniqueBooks;
- vector < int > ids;
- double avgUniqueBooks;
- library() {
- n = signup = booksPerDay = uniqueBooks = 0;
- avgUniqueBooks = 0;
- }
- bool operator<(const library &second)
- const {
- return avgUniqueBooks > second.avgUniqueBooks;
- }
- };
- vector < library > libraries;
- int main() {
- ios_base::sync_with_stdio(0); cin.tie(NULL); cout.precision(10); cout << fixed;
- freopen("c.txt", "r", stdin);
- cin >> B >> L >> D;
- for (int i = 0; i < B; i++) cin >> books[i];
- libraries.clear();
- for (int i = 0, n, signup, booksPerDay; i < L; i++) {
- cin >> n >> signup >> booksPerDay;
- library lib;
- lib.n = n;
- lib.signup = signup;
- lib.booksPerDay = booksPerDay;
- for (int j = 0, id; j < n; j++) {
- cin >> id;
- freq[id]++;
- lib.ids.push_back(id);
- }
- libraries.push_back(lib);
- }
- for (int i = 0; i < B; i++) {
- if (freq[i] == 1)
- uniqueBooksCounter++;
- avgFreq += freq[i];
- }
- for (int i = 0; i < L; i++) {
- for (int j = 0; j < libraries[i].n; j++)
- if (freq[libraries[i].ids[j]] == 1)
- libraries[i].uniqueBooks++;
- libraries[i].avgUniqueBooks = (double)libraries[i].uniqueBooks / libraries[i].n;
- avgUniqueBooksInLibrary += libraries[i].avgUniqueBooks;
- }
- sort(libraries.begin(), libraries.end());
- for (int i = 0; i < L; i++)
- if (!libraries[i].uniqueBooks)
- numberOfLibrariesWithNoUniqueBooks++;
- avgUniqueBooksInLibrary /= L;
- avgFreq /= B;
- cout << "Number of days is " << D << endl;
- cout << endl;
- cout << "Number of libraries is " << L << endl;
- cout << endl;
- cout << "Number of books is " << B << endl;
- cout << endl;
- cout << "Number of unique books is " << uniqueBooksCounter << endl;
- cout << endl;
- cout << "Average frequency for books is " << avgFreq << endl;
- cout << endl;
- cout << "Average unique books for each library is " << avgUniqueBooksInLibrary << endl;
- cout << endl;
- cout << "maximum number of unique books ratio in library is " << libraries[0].avgUniqueBooks << endl;
- cout << endl;
- cout << "minimum number of unique books ratio in library is " << libraries.back().avgUniqueBooks << endl;
- cout << endl;
- cout << "Number of libraries with no unique books " << numberOfLibrariesWithNoUniqueBooks << endl;
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement