제출 #1363798

#제출 시각아이디문제언어결과실행 시간메모리
1363798tschav_Detecting Molecules (IOI16_molecules)C++20
100 / 100
25 ms2984 KiB
#include <bits/stdc++.h>
// #define int long long
#define dbg(x) cerr << #x << " -> " << x << "\n"
#define pb push_back
#define all(x) (x).begin(),(x).end()
#define len(x) (int)(x).size()
#define pii pair<int,int>
using namespace std;

vector<int> find_subset(int l, int u, vector<int> w){
    int n = len(w);
    vector<int> idx(n);
    iota(all(idx),0);
    sort(all(idx),[&](int x, int y){
        return w[x] < w[y];
    });
    int L = 0;
    int R = 0;
    long long cur = w[idx[L]];
    if(cur <= u and cur >= l){
        return vector<int>{idx[0]};
    }
    vector<int> ans;
    while(R + 1 < n) {
        ++R;
        cur += w[idx[R]];
        if(cur <= u and cur >= l){
            for(int i = L; i <= R; ++i){
                ans.pb(idx[i]);
            }
            return ans;
        }
        if(cur > u){
            cur -= w[idx[L]];
            ++L;
        }
        if(cur <= u and cur >= l){
            for(int i = L; i <= R; ++i){
                ans.pb(idx[i]);
            }
            return ans;
        }
    }
    return vector<int>{};
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…