#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
#define name "TENBAI"
#define fi first
#define se second
#define endl '\n'
#define setmin(x, y) x = min((x), (y))
#define setmax(x, y) x = max((x), (y))
#define sqr(x) ((x) * (x))
#define all(x) x.begin(), x.end()
mt19937 hdp(chrono::high_resolution_clock::now().time_since_epoch().count());
int rand(int l, int r){return l + ((hdp() % (r - l + 1)) + r - l + 1) % (r - l + 1);}
vector<pair<int, int>> W;
vector<int> sus(vector<int>& v)
{
vector<int> res;
for (int t : v)
res.push_back(W[t].se);
sort(all(res));
return res;
}
vector<int> find_subset(int l, int u, vector<int> w) {
int n = w.size();
W.resize(n);
for (int i = 0; i < n; i++)
W[i] = {w[i], i};
sort(all(W));
for (int i = 0; i < n; i++)
w[i] = W[i].fi;
vector<long long> p(n, w[0]);
for (int i = 1; i < n; i++)
p[i] = p[i - 1] + w[i];
for (int i = 1; i <= n; i++)
{
if (p[i - 1] >= l && p[i - 1] <= u)
{
vector<int> res(i);
iota(all(res), 0);
return sus(res);
}
if (i == n)
break;
if (p.back() - p[n - i - 1] >= l && p.back() - p[n - i - 1] <= u)
{
vector<int> res(i);
iota(all(res), n - i);
return sus(res);
}
if (p[i - 1] < l && p.back() - p[n - i - 1] > u)
{
vector<int> res(i);
iota(all(res), 0);
int cur = p[i - 1], c = n - 1;
for (int j = i - 1; ; j--)
{
if (cur + w[c] - w[j] < l)
{
cur += w[c] - w[j];
res[j] = c--;
continue;
}
while (cur < l)
cur += w[res[j] + 1] - w[res[j]], res[j]++;
return sus(res);
}
}
}
return vector<int>(0);
}
컴파일 시 표준 에러 (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... |