| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 87695 | Retro3014 | Detecting Molecules (IOI16_molecules) | C++17 | 67 ms | 34644 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 "molecules.h"
#include <vector>
#include <algorithm>
typedef long long ll;
struct S{
    int x, y;
    bool operator <(const S &a)const{
        return y<a.y;
    }
};
using namespace std;
#define MAX_N 200000
vector<int> ans;
vector<S> v;
ll sum1[MAX_N+10], sum2[MAX_N+10];
vector<int> find_subset(int l, int u, vector<int> w){
    for(int i=0; i<w.size(); i++){
        v.push_back({i, w[i]});
    }
    sort(v.begin(), v.end());
    for(int i=0; i<v.size(); i++){
        if(i==0){
            sum1[i]=(ll)v[i].y;
        }else{
            sum1[i]=sum1[i-1]+(ll)v[i].y;
        }
    }
    for(int i=(int)v.size()-1; i>=0; i--){
        if(i==v.size()-1){
            sum2[i]=(ll)v[i].y;
        }else{
            sum2[i]=sum2[i+1]+(ll)v[i].y;
        }
    }
    int s=-1, e=0;
    while(e<=v.size()){
        if((s==-1?0:sum1[s])+sum2[e]>=(ll)l && (s==-1?0:sum1[s])+sum2[e]<=u){
            break;
        }
        else if((s==-1?0:sum1[s])+sum2[e]<(ll)l){
            if(s==e-1){
                break;
            }
            s++;
        }else{
            e++;
        }
    }
    if((s==-1?0:sum1[s])+sum2[e]>=(ll)l && (s==-1?0:sum1[s])+sum2[e]<=u){
        for(int i=0; i<=s; i++){
            ans.push_back(v[i].x);
        }
        for(int i=e; i<v.size(); i++){
            ans.push_back(v[i].x);
        }
    }
    return ans;
}
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... | ||||
