Submission #1235281

#TimeUsernameProblemLanguageResultExecution timeMemory
1235281yixuan19Detecting Molecules (IOI16_molecules)C++20
100 / 100
39 ms7736 KiB
#include "molecules.h" #include <iostream> #include <algorithm> #include <queue> #define ll long long using namespace std; std::vector<int> find_subset(int l, int u, std::vector<int> w) { vector<int> res; vector<int> empty; priority_queue<pair<ll,int> > seen; vector<pair<int,int> >vals; for (int i = 0; i < w.size(); ++i){ vals.push_back(make_pair(w[i],i)); } sort(vals.rbegin(), vals.rend()); ll cnt = 0; int i = 0; while (i < w.size()){ while (cnt < l && i < w.size()){ //cout<<"added "<<vals[i].first<<vals[i].second<<endl; cnt+=vals[i].first; seen.push(make_pair(vals[i].first,vals[i].second)); i++; } while (cnt > u && !seen.empty()){ cnt -= (seen.top().first); seen.pop(); } if (cnt >= l && cnt <= u) break; } if (cnt < l || cnt > u) return empty; while (!seen.empty()){ res.push_back(seen.top().second); seen.pop(); } return res; }

Compilation message (stderr)

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...