GastonFontenla

N2P3 - Librero

Sep 1st, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define MOD 1000000007
  6.  
  7. int librero(vector <int> bases, vector <int> libros, vector <int> &orden)
  8. {
  9.     vector <pair<int, int> > parBases(bases.size()), parLibros(libros.size());
  10.  
  11.     for(int i=0; i<bases.size(); i++)
  12.     {
  13.         parBases[i] = {bases[i], i};
  14.         parLibros[i] = {libros[i], i};
  15.     }
  16.  
  17.     sort(parBases.begin(), parBases.end());
  18.     sort(parLibros.rbegin(), parLibros.rend());
  19.  
  20.     int altura = parBases[0].first + parLibros[0].first;
  21.  
  22.     for(int i=1; i<parBases.size(); i++)
  23.         if(parBases[i].first + parLibros[i].first != altura)
  24.             return -1;
  25.  
  26.     orden = vector <int> (bases.size());
  27.  
  28.     for(int i=0; i<parBases.size(); i++)
  29.         orden[parBases[i].second] = parLibros[i].second+1;
  30.  
  31.     return altura;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment