제출 #377332

#제출 시각아이디문제언어결과실행 시간메모리
377332rrrr10000Detecting Molecules (IOI16_molecules)C++14
100 / 100
183 ms10496 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> P; typedef tuple<ll,ll,ll> PP; typedef vector<ll> vi; typedef vector<vi> vvi; typedef vector<P> vp; 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 fi first #define se second #define all(a) a.begin(),a.end() #define rosrt(a) {sort(all(a));reverse(all(a));} #define dupli(a) {sort(all(a));a.erase(unique(all(a)),a.end());} #define lb(v,k) (lower_bound(all(v),k)-v.begin()) 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<<'\n';} template<class T> void outv(T v){rep(i,v.size()){if(i)cout<<' ';cout<<v[i];};cout<<'\n';} template<class T> void outvv(T v){for(auto x:v)outv(x);} template<class T> void outp(T p){cout<<'('<<p.fi<<','<<p.se<<')'<<endl;} template<class T> void outvp(T v){for(auto x:v)cout<<'('<<x.fi<<','<<x.se<<')';cout<<endl;} #include "molecules.h" vector<int> find_subset(int a,int b,vector<int> w){ int n=w.size(); vp v(n); rep(i,n)v[i]=P(w[i],i); sort(all(v)); vi ruil(n),ruir(n); rep(i,n){ ruil[i]=v[i].fi; if(i)ruil[i]+=ruil[i-1]; } for(int i=n-1;i>=0;i--){ ruir[i]=v[i].fi; if(i!=n-1)ruir[i]+=ruir[i+1]; } rep(i,n){ if(ruil[i]<=b&&ruir[n-i-1]>=a){ ll sum=ruil[i]; int l=i+1; rep(j,i+1){ if(sum>=a)break; sum-=v[i-j].fi; sum+=v[n-j-1].fi; l--; } vector<int> res(i+1); rep(j,i+1){ if(j<l)res[j]=v[j].se; else res[j]=v[n-(j-l)-1].se; } return res; } } vector<int> res(0); return res; }/* int main(){ ll n;cin>>n; vector<int> v(n);rep(i,n)cin>>v[i]; ll a,b;cin>>a>>b; outv(find_subset(a,b,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...