Submission #1348026

#TimeUsernameProblemLanguageResultExecution timeMemory
1348026SSKMFGym Badges (NOI22_gymbadges)C++20
0 / 100
2094 ms8192 KiB
#include <bits/stdc++.h>
using namespace std;

pair <int , int> sir[500001];
int64_t minim[500002];

int main ()
{
    ios :: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    
    int cantitate;
    cin >> cantitate;

    for (int indice = 1 ; indice <= cantitate ; indice++)
        { cin >> sir[indice].second; }
    for (int indice = 1 ; indice <= cantitate ; indice++)
        { cin >> sir[indice].first; }
    
    sort(sir + 1 , sir + cantitate + 1);

    for (int indice = 1 ; indice <= cantitate + 1 ; indice++)
        { minim[indice] = INT64_MAX; }
        
    for (int indice = 1 ; indice <= cantitate ; indice++) {
        for (int luat = indice ; luat ; luat--) {
            if (minim[luat - 1] <= sir[indice].first)
                { minim[luat] = min(minim[luat] , minim[luat - 1] + sir[indice].second); }
        }
    }

    int maxim = 0;
    while (minim[maxim + 1] != INT64_MAX)
        { maxim++; }

    cout << maxim;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...