Submission #912317

#TimeUsernameProblemLanguageResultExecution timeMemory
912317Vladth11Detecting Molecules (IOI16_molecules)C++14
100 / 100
43 ms3700 KiB
#include<bits/stdc++.h>
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "
#pragma GCC optimize("Ofast")
 
#include "molecules.h"
 
using namespace std;
typedef pair <int, int> pii;
 
const int NMAX = 200001;
 
pii v[NMAX];
 
vector<int> find_subset(int l, int u, vector<int> w) {
    int n = w.size();
    for(int i = 0; i < n; i++){
        v[i + 1] = {w[i], i + 1};
    }
    sort(v + 1, v + n + 1);
    int lft = 1;
    long long sum = 0;
    for(int i = 1; i <= n; i++){
        sum += v[i].first;
        while(lft < i && sum - v[lft].first >= l){
            sum -= v[lft].first;
            lft++;
        }
        if(sum >= l && sum <= u){
            vector <int> sol;
            for(int j = lft; j <= i; j++){
                sol.push_back(v[j].second - 1);
            }
            return sol;
        }
    }
    vector <int> clr;
    return clr;
}
#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...