Submission #529345

#TimeUsernameProblemLanguageResultExecution timeMemory
529345kevinDetecting Molecules (IOI16_molecules)C++17
100 / 100
44 ms6176 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define all(x) x.begin(), x.end()
#define f first
#define s second
#define ca(v) for(auto i:v) cout<<i<<" ";
#define nl cout<<"\n"

const int MOD = 1e9 + 7;

vector<int> find_subset(int l, int r, vector<int> arr){
    int n = arr.size();
    vector<pair<int, int>> ar;
    for(int i=0; i<n; i++) ar.push_back({arr[i], i});
    sort(all(ar));
    ll sm = 0;
    int p = 0;
    vector<int> emp = {};
    if(ar[0].f > r) return emp;
    for(int i=0; i<n; i++){
        if(sm + ar[i].f > r) break;
        sm += ar[i].f;
        p = i;
    }
    for(int i=0; i<n; i++){
        if(sm >= l && sm <= r){
            vector<int> out = {};
            for(int j=i; j<=p+i; j++){
                out.push_back(ar[j].s);
            }
            return out;
        }
        if(i + 1 + p >= n) break;
        sm -= ar[i].f;
        sm += ar[i+p+1].f;
    }
    return emp;
}
#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...