Submission #139461

#TimeUsernameProblemLanguageResultExecution timeMemory
139461redaDetecting Molecules (IOI16_molecules)C++14
100 / 100
60 ms3780 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
#define fi  first
#define se  second
#define pb push_back
vector<int> find_subset(int l, int u, std::vector<int> w) {
    int n = w.size();
    pair<int,int> W2 [n+1];
    vector<int> ans;
    for(int i = 0; i < n; i++) {
        W2[i].fi = w[i];
        W2[i].se = i;
    }
    sort(W2, W2+n);
    long long sum =  W2[0].fi;
    int L = 0, R = 1;
    while(L < R && L < n && R <= n)
    {
        if(sum < l)
        {
          sum += W2[R].fi;
          R++;
        }
        else if(sum>u)
        {
          sum -= W2[L].fi;
          L++;
        }
        else
        {
            for(int p = L; p < R; p++) 
              ans.pb(W2[p].se);
            return ans;
        }
    }
    return ans;
}
#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...