Submission #977410

#TimeUsernameProblemLanguageResultExecution timeMemory
977410sstojilkovic19Detecting Molecules (IOI16_molecules)C++14
0 / 100
1 ms348 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    //return std::vector<int>(0);

    int leva=-1, desna=-1;
    vector<int>ans;
    //sort(w.begin(), w.end());
    int n = w.size();

    vector <pair<int, int>>w2(n+5);
    for(int i = 0; i<n; i++)w2[i]={w[i], i};
    sort(w2.begin()+1, w2.end());
    vector<long long>pref(n+5, 0);
    for(int i = 1; i<=n; i++)pref[i]=pref[i-1]+w2[i-1].first;

    for(int i = 1; i<=n; i++)
    {
        for(int j = 1; j<=i; j++)
        {
            long long s = pref[i]-pref[j-1];
            if(s>=l && s<=u)
            {
                desna = i;
                leva = j;
                break;
            }
        }
    }
   // cout<<leva<<" "<<desna<<"\n";

    if(leva==-1 && desna==-1)
        return vector<int>(0);
    else
    {
        for(int i = leva; i<=desna; i++)ans.push_back(w2[i-1].second);
        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...