Submission #237381

#TimeUsernameProblemLanguageResultExecution timeMemory
237381uacoder123Detecting Molecules (IOI16_molecules)C++17
100 / 100
75 ms10360 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; #define F first #define S second #define FOR(i,a,b) for (auto i = (a); i <= (b); ++i) #define NFOR(i,a,b) for(auto i = (a); i >= (b); --i) #define all(x) (x).begin(), (x).end() #define sz(x) int(x.size()) #define mp(i,a) make_pair(i,a) #define pb(a) push_back(a) #define bit(x,b) (x&(1LL<<b)) typedef long long int lli; typedef pair <lli,lli> ii; typedef pair <ii,lli> iii; typedef vector <lli> vi; vector<int> find_subset(int l,int r,vector<int> arr1) { ios_base::sync_with_stdio(false); cin.tie(NULL); lli n=arr1.size(),l1=0,r1=0; vector<ii> arr(n); for(lli i=0;i<n;++i) { arr[i].F=arr1[i]; arr[i].S=i; } sort(all(arr)); vector<ii> p(n+1); p[0]=mp(0,0); for(lli i=1;i<=n;++i) { p[i]=mp(p[i-1].F+arr[i-1].F,i); } for(lli i=0;i<n;++i) { auto it = lower_bound(all(p),mp(p[i].F+l,0*1LL)); if(it!=p.end()&&(*it).F-p[i].F>=l&&(*it).F-p[i].F<=r) { l1=p[i].S; r1=(*it).S; break; } } l1--; r1--; vector<int> v; for(lli i=l1+1;i<=r1;++i) v.pb(arr[i].S); return(v); }
#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...