제출 #61053

#제출 시각아이디문제언어결과실행 시간메모리
61053TenuunDetecting Molecules (IOI16_molecules)C++17
0 / 100
3 ms536 KiB
#include "molecules.h"
#include<bits/stdc++.h>

using namespace std;

vector<int> find_subset(int l, int u, std::vector<int> w) {
	vector<int>res;
	vector<pair<int, int> >v;
	for(int i=0; i<w.size(); i++){
		v.push_back({w[i], i});
	}
	sort(v.rbegin(), v.rend());
	long long curr=0;
	int r=0;
	for(int i=0; i<v.size(); i++){
		r=max(r, i);
		if(i==r){
			curr=v[i].first;
			res.clear();
			res.push_back(v[i].second);
		}
		while(r+1<v.size() && curr<l){
			curr+=v[r+1].first;
			res.push_back(v[r+1].second);
			r++;
		}
		if(curr>=l && curr<=u) return res;
		curr-=v[i].first;
		res.erase(res.begin());
	}
	if(curr>=l && curr<=u) return res;
	else return res={0}, res;
}

컴파일 시 표준 에러 (stderr) 메시지

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:9:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0; i<w.size(); i++){
               ~^~~~~~~~~
molecules.cpp:15:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0; i<v.size(); i++){
               ~^~~~~~~~~
molecules.cpp:22:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while(r+1<v.size() && curr<l){
         ~~~^~~~~~~~~
#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...