Submission #1147643

#TimeUsernameProblemLanguageResultExecution timeMemory
1147643gulmixDetecting Molecules (IOI16_molecules)C++20
0 / 100
0 ms332 KiB
#include "molecules.h"
#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
using ll = long long;
#define all(x) x.begin(), x.end()
#define oset tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update>

vector<int> find_subset(int l, int r, vector<int> w){
    vector<pair<int, int>> a(w.size());
    for(int i = 0; i < w.size(); i++){
        a[i] = {w[i], i+1};
    }
    sort(all(a));
    int cur = 0, lx = 0;
    for(int i = 0; i < w.size(); i++){
        while(lx < w.size() && cur < l){
            cur += a[lx++].first;
        }
        if(cur >= l && cur < r){
            vector<int> res;
            for(int j = i; j < lx; j++){
                res.push_back(a[j].second);
            }
            sort(all(res));
            return res;
        }
        cur -= a[i].first;
    }
    return vector<int>();
}

//int main(){
//    ios::sync_with_stdio(false);
//    cin.tie(0);
//    //ifstream cin("cycle2.in");
//    //ofstream cout("cycle2.out");
//    vector<int> b = {15, 17, 16, 18};
//    vector<int> a = find_subset(10, 20, b);
//    for(auto &i: a)cout << i << ' ';
//}

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