Submission #1304256

#TimeUsernameProblemLanguageResultExecution timeMemory
1304256Ekber_EkberDetecting Molecules (IOI16_molecules)C++20
69 / 100
1095 ms4924 KiB
#include "molecules.h"
#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define all(v) v.begin(), v.end()
using namespace std;

vector<int> find_subset(int l, int r, vector<int> v) {
    int n = v.size();
    vector <pair<int, int>> v1;
    for (int i = 0; i < n; i++) {
        v1.pb({v[i], i});
    }
    sort(all(v1));
    vector <int> id;
    for (int i = 0; i < n; i++) id.pb(v1[i].ss);
    sort(all(v));
    // for (int i = 0; i < n; i++) cout << v[i] << ' ';
    // cout << endl;
    for (int i = 0; i < n; i++) {
        // cout << endl << i << ": ";
        int sum=0, x=-1;
        vector <int> res;
        for (int j = i; j < n; j++) {
            if (v[j] - v[i] > r - l) break;
            sum += v[j];
            x = j;
        }
        if (x == -1) continue;
        // cout << x << " ";
        for (int j = x; j >= i; j--) {
            if (sum - v[j] >= l) {
                sum -= v[j];
            }
            else res.pb(j);
        }
        if (sum <= r && sum >= l) {
            for (int &i : res) i = id[i];
            sort(all(res));
            return res;
        }
    }
    vector <int> null;
    return null;
}

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...