#include "bits/stdc++.h"
#include "molecules.h"
using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
// https://codeforces.com/blog/entry/79148
class Timer: chrono::high_resolution_clock {
const time_point start_time;
public:
Timer(): start_time(now()) {}
rep elapsed_time() const {
return chrono::duration_cast<chrono::milliseconds>(now() - start_time).count();
}
} timer;
vector<int> find_subset(int l_, int r_, vector<int> w) {
vector<int> ord(w.size());
iota(ord.begin(), ord.end(), 0);
sort(ord.begin(), ord.end(), [&] (int x, int y) {
return w[x] < w[y];
});
sort(w.begin(), w.end());
int lb = w.size() - 1, rb = lb;
ll sum = w.back(), l = l_, r = r_;
vector<int> ans;
while (true) {
if (sum >= l && sum <= r) {
for (int i = lb; i <= rb; i++) {
ans.push_back(ord[i]);
}
return ans;
}
if (sum > r) {
sum -= ll(w[rb]);
rb--;
}
if (sum < l) {
if (!lb) {
return ans;
}
lb--;
sum += ll(w[lb]);
}
}
}
컴파일 시 표준 에러 (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 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... |