답안 #1115574

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1115574 2024-11-20T16:09:01 Z ljtunas Gym Badges (NOI22_gymbadges) C++14
9 / 100
144 ms 21700 KB
// author : anhtun_hi , nqg
#include <bits/stdc++.h>
#define ll long long
#define ii pair<ll, ll>
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define reset(h, v)    memset(h, v, sizeof h)
#define Forv(i, a)     for(auto& i : a)
#define For(i, a, b)   for(int i = a; i <= b; ++i)
#define Ford(i, a, b)  for(int i = a; i >= b; --i)
#define c_bit(i)     __builtin_popcountll(i)
#define Bit(mask, i)    ((mask >> i) & 1LL)
#define onbit(mask, i)  ((mask) bitor (1LL << i))
#define offbit(mask, i) ((mask) &~ (1LL << i))
#define TIME (1.0 * clock() / CLOCKS_PER_SEC)
using namespace std;
namespace std {
    template <typename T, int D>
    struct _vector : public vector <_vector <T, D - 1>> {
        static_assert(D >= 1, "Dimension must be positive!");
        template <typename... Args>
        _vector(int n = 0, Args... args) : vector <_vector <T, D - 1>> (n, _vector <T, D - 1> (args...)) {}
    };
    template <typename T> struct _vector <T, 1> : public vector <T> {
        _vector(int n = 0, const T& val = T()) : vector <T> (n, val) {}
    };
    template <class A, class B> bool minimize(A &a, B b){return a > b ? a = b, true : false;}
    template <class A, class B> bool maximize(A &a, B b){return a < b ? a = b, true : false;}
}
const int dx[] = {0, 0, +1, -1}, dy[] = {-1, +1, 0, 0}, LOG = 20, base = 311, inf = 1e9 + 5;
const int MAXN = 5e5 + 5;
const  ll  mod = 1e9 + 7;
const  ll   oo = 1e18;

//#define int long long

int n; ii a[MAXN];

void Solve() {
    cin >> n;
    For(i, 1, n) cin >> a[i].se;
    For(i, 1, n) cin >> a[i].fi;
    sort(a + 1, a + n + 1);
    priority_queue<ll, vector<ll>> pq;
    ll sum = 0; int ans = 0;
    For(i, 1, n) {
//        cerr << a[i].fi << ' ' << a[i].se << '\n';
        while(pq.size() && sum > a[i].fi){
            sum -= pq.top();
            pq.pop();
        }
        pq.push(a[i].se);
        sum += a[i].se;
        maximize(ans, pq.size());
//        cerr << pq.size() << '\n';
    }
    cout << ans << '\n';
}

signed main() {
    cin.tie(0) -> sync_with_stdio(0);
    if(fopen("a.inp", "r")) {
        freopen("a.inp", "r", stdin);
        freopen("a.out", "w", stdout);
    }

    int t = 1;
//    cin >> t;
    while(t --) Solve();

    return 0;
}


Compilation message

Main.cpp: In instantiation of 'bool std::maximize(A&, B) [with A = int; B = long unsigned int]':
Main.cpp:55:32:   required from here
Main.cpp:29:67: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
   29 |     template <class A, class B> bool maximize(A &a, B b){return a < b ? a = b, true : false;}
      |                                                                 ~~^~~
Main.cpp: In function 'int main()':
Main.cpp:64:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   64 |         freopen("a.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
Main.cpp:65:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   65 |         freopen("a.out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 126 ms 17480 KB Output is correct
2 Correct 141 ms 17480 KB Output is correct
3 Correct 139 ms 17616 KB Output is correct
4 Correct 122 ms 17396 KB Output is correct
5 Correct 124 ms 17524 KB Output is correct
6 Correct 120 ms 16796 KB Output is correct
7 Correct 134 ms 16116 KB Output is correct
8 Correct 118 ms 16712 KB Output is correct
9 Correct 144 ms 16712 KB Output is correct
10 Correct 121 ms 16856 KB Output is correct
11 Correct 110 ms 18632 KB Output is correct
12 Correct 113 ms 21700 KB Output is correct
13 Correct 112 ms 18680 KB Output is correct
14 Correct 104 ms 21696 KB Output is correct
15 Correct 114 ms 21700 KB Output is correct
16 Correct 132 ms 17100 KB Output is correct
17 Correct 125 ms 17016 KB Output is correct
18 Correct 132 ms 17096 KB Output is correct
19 Correct 122 ms 16480 KB Output is correct
20 Correct 121 ms 16640 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -