# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
414871 | MeGustaElArroz23 | Detecting Molecules (IOI16_molecules) | C++14 | 65 ms | 10212 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//#include <cstdio>
//#include <vector>
//#include <cassert>
#include "molecules.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef pair<ll,ll> pii;
typedef vector<pii> vii;
typedef vector<vii> vvii;
void debug(auto v){
for (auto x:v) cerr << x << ' ';
cerr << '\n';
}
vector<int> find_subset(int l, int u, vector<int> w) {
int n=w.size();
vii v(n);
for (int i=0;i<n;i++) v[i]=pii{w[i],i};
sort(v.begin(),v.end());
vii pref(n+1);
pref[0]=pii{0,0};
for (int i=1;i<=n;i++){
pref[i].first=pref[i-1].first+v[i-1].first;
pref[i].second=pref[i-1].second+v[n-i].first;
}
for (int i=1;i<=n;i++){
if ((l>=pref[i].first and l<=pref[i].second) or (u>=pref[i].first and u<=pref[i].second) or (l<=pref[i].first and u>=pref[i].second)){
vi sol(i);
for (int j=0;j<i;j++) sol[j]=j;
ll suma=pref[i].first;
int counter=0;
while(suma<l){
suma-=v[counter].first;
suma+=v[n-counter-1].first;
sol[counter]=n-counter-1;
counter++;
}
for (int j=0;j<i;j++) sol[j]=v[sol[j]].second;
sort(sol.begin(),sol.end());
vector<int> solu(i);
for (int j=0;j<i;j++) solu[j]=sol[j];
//cerr<<3;
//debug(solu);
return solu;
}
}
return vector<int>(0);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |