제출 #1322588

#제출 시각아이디문제언어결과실행 시간메모리
1322588aritro_Detecting Molecules (IOI16_molecules)C++20
100 / 100
39 ms5132 KiB
#include<bits/stdc++.h>
using namespace std;

vector<int> find_subset(int l,int r,vector<int> w){
    vector<pair<int,int>>v;
    vector<int> ans;
    int n=w.size();
    for(int i=0;i<n;i++) v.push_back({w[i],i});
    sort(v.begin(),v.end());
    long long int preSum[n+1]={0};
    for(int i=0;i<n;i++) preSum[i+1]=preSum[i]+v[i].first;
    for(int i=1;i<=n;i++){
        int left=i,right=n,p=-1;
        while(left<=right){
            int m=(left+right)/2;
            if(preSum[m]-preSum[i-1]>=l){
                p=m;
                right=m-1;
            }
            else left=m+1;
        }
        if(p!=-1&&preSum[p]-preSum[i-1]<=r){
            for(int j=i-1;j<p;j++) ans.push_back(v[j].second);
            break;
        }
    }
    return ans;
}

컴파일 시 표준 에러 (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...