Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <vector>
  4. #include <algorithm>
  5. using namespace std;
  6. typedef long long ll;
  7. typedef long double ld;
  8. vector <ld> a;
  9. vector <ld> b;
  10. vector <ld> p;
  11. bool cmp(ld i, ld j){
  12.     ld l, m;
  13.     m = min(b.at(i), b.at(j) - a.at(i));
  14.     l = min(b.at(j), b.at(i) - a.at(j));
  15.     return l >= m;
  16. }
  17. int main() {
  18.     ll n;
  19.     ld x;
  20.     cin >> n;
  21.     a.resize(n);
  22.     b.resize(n);
  23.     p.resize(n);
  24.     for (ll i = 0; i < n; i++){
  25.         p.at(i) = i;
  26.     }
  27.     ld sum = 0;
  28.     for (ll i = 0; i < n; i++){
  29.         cin >> x;
  30.         a.at(i) = x;
  31.         sum += x;
  32.     }
  33.     for (ll i = 0; i < n; i++){
  34.         cin >> x;
  35.         b.at(i) = x;
  36.     }
  37.     ld s = 0;
  38.     sort(p.begin(), p.end(), cmp);
  39.     for (ll i = 0; i < n; i++){
  40.         s += a.at(p.at(i));
  41.         if (b.at(p.at(i)) >= sum - s + 1)
  42.             continue;
  43.         else{
  44.             cout << - 1;
  45.             return 0;
  46.         }
  47.     }
  48.     for (int i = 0; i < n; i++)
  49.         cout << p.at(i) + 1 << ' ';
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement