# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
156292 | a_player | Detecting Molecules (IOI16_molecules) | C++14 | 2 ms | 376 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define f first
#define s second
#define mp make_pair
#define pb push_back
using namespace std;
typedef long long ll;
map<ll,vector<int> > v;
ll s=0;
vector<int> find_subset(int l,int u, vector<int> w){
for(int i=0;i<w.size();i++){
v[(ll)w[i]].push_back(i);
s+=(ll)w[i];
}
if(s<(ll)u){
vector<int> sol;
return sol;
}
while(s>(ll)l){
ll d=s-(ll)u;
map<ll,vector<int> >::iterator itt=v.upper_bound(d);
if(itt==v.begin()){
vector<int> sol;
return sol;
}
itt--;
s-=itt->first;
itt->second.pop_back();
if(itt->second.empty())v.erase(itt);
}
vector<int> sol;
for(map<ll,vector<int> >::iterator it=v.begin();it!=v.end();it++){
for(int i=0;i<(int)it->second.size();i++)sol.push_back(it->second[i]);
}
return sol;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |