제출 #135129

#제출 시각아이디문제언어결과실행 시간메모리
135129IOrtroiiiDetecting Molecules (IOI16_molecules)C++14
100 / 100
63 ms6256 KiB
#include "molecules.h"

#include <bits/stdc++.h>

using namespace std;

using ll = long long;

vector<int> find_subset(int l, int u, vector<int> w) {
   int n = w.size();
   vector<pair<int, int>> vals;
   for (int i = 0; i < n; ++i) {
      vals.emplace_back(w[i], i);
   }
   sort(vals.begin(), vals.end());
   int j = 0;
   ll sum = 0;
   for (int i = 0; i < n; ++i) {
      while (j < n && sum < l) {
         sum += vals[j++].first;
      }
      if (l <= sum && sum <= u) {
         vector<int> ans;
         for (int k = i; k < j; ++k) {
            ans.push_back(vals[k].second);
         }
         sort(ans.begin(), ans.end());
         return ans;
      }
      sum -= vals[i].first;
   }
   return vector<int>();
}
// g++ -std=c++14 grader.cpp molecules.cpp
#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...