Submission #330231

#TimeUsernameProblemLanguageResultExecution timeMemory
330231Aryan_RainaDetecting Molecules (IOI16_molecules)C++14
100 / 100
64 ms5612 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef vector<int> vi; typedef pair<int, int> pi; #define F first #define S second #define PB push_back #define MP make_pair #define pop_front(v) v.erase(v.begin()) #define REP(i, a, b) for (int i=a; i<=b; i++) #define REPn(i, a, b) for (int i=a; i>=b; i--) #define FOR(i, n) REP(i, 0, n-1) #define FORn(j, n) REPn(j, n-1, 0) #define all(v) (v).begin(), (v).end() #define allR(v) (v).rbegin(), (v).rend() #define deb(x) cerr<<#x<<" : "<<x<<endl; vi find_subset(int l, int u, vi w) { int n=w.size(); vector<pi> v(n); FOR(i, n) { v[i]={w[i], i}; } sort(all(v)); int i=0, j=0; ll sum=v[0].F; while (i<n||j<n) { if (sum<l) { ++j; if (j>=n) break; sum+=v[j].F; } else if (sum>u) { if (i>=n) break; sum-=v[i].F; i++; } else break; } if (l<=sum&&sum<=u) { vi ans; REP(kk, i, j) { ans.PB(v[kk].S); } return ans; } else return {}; }
#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...