Submission #1256225

#TimeUsernameProblemLanguageResultExecution timeMemory
1256225biankDetecting Molecules (IOI16_molecules)C++20
100 / 100
37 ms3652 KiB
#include <bits/stdc++.h>

using namespace std;

#define forsn(i, s, n) for (int i = int(s); i < int(n); i++)
#define forn(i, n) forsn(i, 0, n)
#define dforsn(i, s, n) for (int i = int(n) - 1; i >= int(s); i--)
#define dforn(i, n) dforsn(i, 0, n)

using vi = vector<int>;
using ii = pair<int, int>;
using ll = long long;

#define fst first
#define snd second

#define sz(x) int(x.size())
#define all(x) begin(x), end(x)

vi find_subset(int l, int u, vi w) {
    int n = sz(w);
    vector<ii> v(n);
    forn(i, n) v[i] = {w[i], i};
    sort(all(v));
    ll sum = 0LL;
    int j = 0;
    forn(i, n) {
        while (j < n && sum < l) {
            sum += v[j++].fst;
        }
        if (l <= sum && sum <= u) {
            vi ret(j - i);
            forsn(k, i, j) ret[k - i] = v[k].snd;
            return ret;
        }
        sum -= v[i].fst;
    }
    return vi{};
}

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...