Advertisement
Guest User

STUDCOMP - buggy solution

a guest
Mar 1st, 2021
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long LL;
  4. typedef vector<int> VI;
  5. typedef pair<int, int> PII;
  6.  
  7. void solve() {
  8.     int n;
  9.     cin >> n;
  10.  
  11.     VI marks(n);
  12.     for (auto &x : marks)
  13.         cin >> x;
  14.     VI app(n);
  15.     for (auto &x : app)
  16.         cin >> x;
  17.     vector<PII> a(n);
  18.     for (int i = 0; i < n; i++) {
  19.         a[i] = {marks[i], i};
  20.     }
  21.  
  22.     sort(a.begin(), a.end());
  23.  
  24.     vector<int> ans(n);
  25.  
  26.     set<int, greater<>> apps;
  27.     for (int i = 0; i < n; i++) {
  28.         int app_i = app[a[i].second];
  29.  
  30.         int size = 0;
  31.         int sum = 0;
  32.         for (auto x : apps) {
  33.             sum += x;
  34.             size += 1;
  35.             if (sum > app_i)
  36.                 break;
  37.         }
  38.  
  39.         apps.insert(app_i);
  40.         ans[a[i].second] = sum > app_i ? size : -1;
  41.     }
  42.  
  43.     for (auto x : ans)
  44.         cout << x << " ";
  45. }
  46.  
  47. int main() {
  48.     solve();
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement