Submission #616541

#TimeUsernameProblemLanguageResultExecution timeMemory
616541rrrr10000Detecting Molecules (IOI16_molecules)C++14
100 / 100
52 ms7668 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> P; typedef vector<ll> vi; typedef vector<vi> vvi; typedef vector<P> vp; typedef vector<vp> vvp; typedef vector<bool> vb; #define rep(i,n) for(ll i=0;i<(ll)(n);i++) #define REP(i,k,n) for(ll i=(ll)(k);i<(ll)(n);i++) #define all(a) a.begin(),a.end() #define fi first #define se second #define lb(v,k) (lower_bound(all(v),k)-v.bein()) #define dupli(a) {sort(all(a));a.erase(unique(all(a)),a.end());} #define pb emplace_back template<class T> bool chmin(T&a,T b){if(a>b){a=b;return true;}return false;} template<class T> bool chmax(T&a,T b){if(a<b){a=b;return true;}return false;} template<class T> void out(T a){cout<<a<<endl;} template<class T> void outv(T v){rep(i,v.size()){if(i)cout<<' ';cout<<v[i];}cout<<endl;} const ll inf=1001001001001001001; std::vector<int> find_subset(int l, int r, std::vector<int> w) { ll n=w.size(); vp srt(n); rep(i,n)srt[i]=P(w[i],i); sort(all(srt)); vi rui(n+1); rep(i,n)rui[i+1]=rui[i]+srt[i].fi; auto rng=[&](ll a,ll b){ return rui[b]-rui[a]; }; REP(k,1,n+1)if(rng(0,k)<=r&&l<=rng(n-k,n)){ rep(t,n-k+1)if(l<=rng(t,t+k)&&rng(t,t+k)<=r){ vector<int> res; REP(i,t,t+k)res.pb(srt[i].se); return res; } } return std::vector<int>(0); }
#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...