Submission #1323523

#TimeUsernameProblemLanguageResultExecution timeMemory
1323523chandan_159Detecting Molecules (IOI16_molecules)C++20
100 / 100
44 ms3740 KiB
#include <bits/stdc++.h> using namespace std; // ====== Short types ====== #define ll int #define ld long double #define str string #define pll pair<ll, ll> #define pii pair<int, int> #define vll vector<ll> #define vii vector<int> #define vld vector<ld> #define vs vector<string> #define vch vector<char> #define vpll vector<pll> #define vpii vector<pii> #define vvll vector<vll> #define mll map<ll, ll> #define msl map<string, ll> #define mcl map<char, ll> #define sll set<ll> #define scl set<char> #define ssl set<string> #define mull multiset<ll> #define mupll multiset<pll> #define pqmax priority_queue<ll> // max heap #define pqmin priority_queue<ll, vector<ll>, greater<ll>> // min heap #define pqmaxpll priority_queue<pll> // max heap of pairs #define pqminpll priority_queue<pll, vector<pll>, greater<pll>> // min heap of pairs // ====== Queues ====== #define qll queue<ll> #define qpll queue<pll> // ====== Common macros ====== #define pb push_back #define ph push #define fr front #define pp pop() #define tp top #define ppb pop_back #define ff first #define ss second #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define sz(x) (int)((x).size()) #define mpr make_pair #define bk back #define rtn return #define ctn continue #define brk break // ====== Algorithms ====== #define uniq(x) x.erase(unique(all(x)), x.end()) // works only after sorting #define sortv(v) sort(all(v)) #define rsortv(v) sort(rall(v)) #define maxv(v) *max_element(all(v)) #define minv(v) *min_element(all(v)) #define sumv(v) accumulate(all(v), 0LL) #define rev(v) reverse(all(v)) #define lb lower_bound #define ub upper_bound // ====== Loops ====== #define forr(i, n) for (int i = 0; i < (n); i++) #define rforr(i, n) for (ll i = (n)-1; i >= 0; i--) #define forab(i, a, b) for (int i = (a); i <= (b); i++) #define forba(i, a, b) for (ll i = (a); i >= (b); i--) vector<int> find_subset(int u, int v, vector<int> w){ int n = w.size(); vector<pair<int,int>> a(n); for(int i = 0; i < n; i++) a[i] = {w[i], i}; sort(a.begin(), a.end()); long long sum = 0; int l = 0; for(int r = 0; r < n; r++){ sum += a[r].first; while(sum > v && l <= r){ sum -= a[l].first; l++; } if(sum >= u && sum <= v){ vector<int> ans; for(int i = l; i <= r; i++) ans.push_back(a[i].second); return ans; } } 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...