Submission #218550

#TimeUsernameProblemLanguageResultExecution timeMemory
218550emil_physmathDetecting Molecules (IOI16_molecules)C++17
9 / 100
6 ms384 KiB
#include "molecules.h"
#include <algorithm>
#include <iostream>
#include <bitset>
#include <vector>
using namespace std;

bitset<10001> dp[10001], take[10001];

vector<int> find_subset(int l, int u, vector<int> a)
{
    int n = a.size();
    vector<pair<int, int> > w(n);
    for (int i = 0; i < n; ++i)
        w[i] = {a[i], i};
    sort(w.begin(), w.end(), greater<pair<int, int> >());
    vector<int> res;
    for (int i = 0, sum = w[0].first; i < n; sum += w[++i].first)
    {
        res.push_back(w[i].second);
        if (sum >= l)
            if (sum <= u)
                return res;
            else
                return vector<int>(0);
    }
    return vector<int>(0);
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:21:12: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
         if (sum >= l)
            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...