Submission #1226198

#TimeUsernameProblemLanguageResultExecution timeMemory
1226198vladiliusDetecting Molecules (IOI16_molecules)C++20
100 / 100
39 ms6340 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; #define pb push_back #define ff first #define ss second vector<int> find_subset(int L, int R, vector<int> w){ int n = (int) w.size(); vector<pii> f = {{}}; for (int i = 0; i < n; i++){ f.pb({w[i], i}); } sort(f.begin(), f.end()); vector<ll> p(n + 1); for (int i = 1; i <= n; i++){ p[i] = p[i - 1] + f[i].ff; } vector<ll> :: iterator it; for (int i = 0; i <= n; i++){ ll l = p[i] + p[n] - R, r = p[i] + p[n] - L; it = lower_bound(p.begin() + i, p.end(), l); int j = (int)(it - p.begin()); if (j <= n && p[j] <= r){ j++; vector<int> out; for (int k = 1; k <= i; k++){ out.pb(f[k].ss); } for (int k = j; k <= n; k++){ out.pb(f[k].ss); } return out; } } return {}; }

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