Submission #1140802

#TimeUsernameProblemLanguageResultExecution timeMemory
1140802altern23Detecting Molecules (IOI16_molecules)C++20
69 / 100
39 ms4280 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> find_subset(int l, int u, vector<int> w) {
    vector<pair<int, int>> W;
    for(int i = 0; i < w.size(); i++){
        W.push_back({w[i], i});
    }
    sort(W.begin(), W.end());
    int sum = 0;
    deque<int> cur;
    for(int i = 0; i < W.size(); i++){
        int id = W[i].second, val = W[i].first;
        sum += val, cur.push_back(id);
        if(l <= sum && sum <= u){
            vector<int> ans;
            for(;!cur.empty();){
                ans.push_back(cur.back()); cur.pop_back();
            }
            return ans;
        }
        if(sum > u){
            if(cur.size() == 1) break;
            sum -= w[cur.back()], cur.pop_back();
            for(int j = w.size() - 1; j >= i && cur.size(); --j){
                int id = W[j].second, val = W[j].first;
                sum += val, cur.push_back(id);
                sum -= w[cur.front()], cur.pop_front();
                if(l <= sum && sum <= u){
                    vector<int> ans;
                    for(;!cur.empty();){
                        ans.push_back(cur.back()); cur.pop_back();
                    }
                    return ans;
                }
            }
            break;
        }
    }

    return vector<int>(0);
}

Compilation message (stderr)

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...